(function(window,$){
function Tools() { }
// url
Tools.prototype.readUrlToParams = function() {
var url = location.href;
var nameValue;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paraObj = {};
for (var i = 0; nameValue = paraString[i]; i++) {
var name = nameValue.substring(0, nameValue.indexOf("="));
var value = nameValue.substring(nameValue.indexOf("=") + 1, nameValue.length);
if (value.indexOf("#") > -1) {
value = value.split("#")[0];
}
paraObj[name] = value;
}
return paraObj;
}//时间戳转化为多久以前
Tools.prototype.formatMsgTime = function(timespan) {
// 转换成时间
var dateTime = new Date(timespan);
// 获取时间戳对应的年月日是分秒
var year = dateTime.getFullYear();
var month = dateTime.getMonth() + 1;
var day = dateTime.getDate();
var hour = dateTime.getHours();
var minute = dateTime.getMinutes();
var second = dateTime.getSeconds();
// 获取当前时间
var now = new Date();
// 转换成时间戳
var now_new = Date.parse(now); //typescript转换写法
// 初始变量
var milliseconds = 0;
var timeSpanStr;
// 时间戳作差求时间差
milliseconds = now_new - timespan;
// 小于一分钟等于刚刚
if (milliseconds <= 1000 * 60 * 1) {
timeSpanStr = '刚刚 :';
}
// 小于一小时是多少分钟前
else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) {
timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前 ';
}
// 小于一天是多少小时
else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) {
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前 ';
}
// 小于半个月是多少天前
else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) {
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前 ';
}
// 几个月
else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) {
timeSpanStr = month + '-' + day + ' ' + hour + ':' + minute;
} else {
// 几年
timeSpanStr = year + '-' + month + '-' + day + ' ' + hour + ':' + minute;
}
return timeSpanStr;
};
//时间转化(时间戳转化为标准时间)
Tools.prototype.formatDateTime = function(inputTime) {
var date = new Date(inputTime);
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
return y + '/' + m + '/' + d + ' ' + h + ':' + minute + ':' + second;
};
// 时间戳的差转化时分秒
Tools.prototype.getNowFormatDate = function (timespan) {
var date = timespan; //计算剩余的毫秒数
var h = parseInt(date / 1000 / 60 / 60 % 24 , 10); //计算剩余的小时
var M = parseInt(date / 1000 / 60 % 60, 10);//计算剩余的分钟
var s = parseInt(date / 1000 % 60, 10);//计算剩余的秒数
var seperator2 = ":"; if (h <= 9) {
h = "0" + h;
}
if (M <= 9) {
M = "0" + M;
}
if (s <= 9) {
s = "0" + s;
}
var currentdate = h + seperator2 + M
+ seperator2 + s;
return currentdate;
},
// 获取分秒
Tools.prototype.getNowHS = function (timespan , newTime) { var date = timespan - newTime; //计算剩余的毫秒数
var M = parseInt(date / 1000 / 60 % 60, 10);//计算剩余的分钟
var s = parseInt(date / 1000 % 60, 10);//计算剩余的秒数
var seperator2 = ":";
if(M < 0 || s < 0){
return '00:00'
}
if (M <= 9 && M > 0) {
M = "0" + M;
}
if (s <= 9 && s > 0) {
s = "0" + s;
}
var currentdate = M + seperator2 + s;
return currentdate;
},// 获取n为随机数
Tools.prototype.randomNum = function(n) {
var t = '';
for (var i = 0; i < n; i++) {
t += Math.floor(Math.random() * 10);
}
return t;
}
// 图片预加载
Tools.prototype.preLoadImages = function(urls) {// 可以是String Array或者String
var argsLen = arguments.length,
loadImage = function (url) {
var img = new Image();
img.src = url;
};
if (argsLen == 1) {
if (typeof (urls) == "string" && (sLen = urls.length) > 1) {// 预加载一个图片
loadImage(urls);
}
else if (Object.prototype.toString.call(arguments[0]) == "[object Array]" && urls.length > 0) {// 预加载多个图片
for (var i = 0; i < urls.length; i++) {
loadImage(urls[i]);
}
}
}
}

window.Tools = Tools;
})(window,$)

工具函数(获取url , 时间格式化,随机数)的更多相关文章

  1. vue 工具函数的封装 时间格式化函数

    时间代码格式化工具函数的封装 小伙伴们,多封点工具函数,多封装点公共组件,多写点公共样式,照顾下互联网行业的新人把....~~~~~ /** yyyymmdd(new Date) -> &quo ...

  2. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  3. iOS 获取当前时间格式化字符串

    iOS 获取当前时间格式化字符串 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保 ...

  4. android 时间获取以及时间格式化

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现 现总结如下: 方法一: void getTime1 ...

  5. [工具类]获取url中参数列表

    写在前面 在项目中经常用到解析url中参数的逻辑,今天先下载就自己封装了一个方法,方便以后使用的时候,信手拈来.当然这里给出的方法是针对常见的url参数类型的,对于重写url,或者路由格式的不考虑. ...

  6. MySQL时间函数-获取当前时间-时间差

    MySQL中获取当前时间为now(),不同于sqlserver getdate(). SQLServer转MySQL除变化top 1 -> limit 1之后报错: limit [Err] 15 ...

  7. java代码--Date类获取当前时间-格式化输出

    44:52 阅读数:2299 package cn.Date;   import java.text.Format; import java.text.SimpleDateFormat; import ...

  8. C语言中time函数获取系统时间

    可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算.其原型为: time_t time(time_t * t); ...

  9. C语言time函数获取当前时间

    以前放了个链接,但是原作者把博文删了,这里放一个获取时间的代码,已经比较详细所以不做注释 #include<stdio.h> #include<time.h> #include ...

随机推荐

  1. A JSON example

    heroes.html<!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  2. Jmeter分布式及在Linux上执行jmeter脚本

    Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...

  3. 20165326 java实验四

    20165326实验四-Android程序设计 一:Android Stuidio的安装测试 1.安装Android Stuidio 具体跟着教程走就行主要是配置的时候要选择下载SDK或手动配置,详细 ...

  4. 二,编程语言类别,和python变量基础

    编程语言类别 机器语言:由二进制组成,直接控制操作硬件,执行效率高,开发效率低. 汇编语言:用英文代替二进制,直接操作控制硬件,执行效率高,开发效率低. 高级语言: 编译型,如C语言,类似谷歌翻译,先 ...

  5. 剑指Offer 38. 二叉树的深度 (二叉树)

    题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 题目地址 https://www.nowcoder.com/prac ...

  6. Hbuilder护眼主题分享

    sublime还有webstorm有很多主题,但是Hbuilder就相对较少,或者直接说基本没什么主题,在网上搜索了很久也很少有Hbuilder的主题分享,于是就自己取色调了一个仿的护眼主题来分享一下 ...

  7. lettuce行为驱动框架实例

    练习: 一:e1_MyFirstBDD 使用方法的方式实现阶乘的计算 zero.feature: Feature: Compute factorial In order to play with Le ...

  8. swap 用指针交换两个整型数值

  9. c++ 网络库

    1.libevent 2.boost::asio 3.ace boost::asio以前看过,不过忘记了 学习,学习

  10. Linux上的文件管理类命令(2)

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示: wc 统计文件中的字节数.单词数.行数.并将统计结果显示输出 -c, --bytes 打印字节数 [root@qingchen ...