(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. Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题

    Android 设备的CPU类型(通常称为”ABIs”) 引用: https://blog.csdn.net/ouyang_peng/article/details/51168072 armeabiv ...

  2. Python中的lambda的简单介绍

    在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.lambda是什么? 举个例子如下: func=lambda x:x+1 print(func(1)) p ...

  3. 管理商品demo

    1.写一个管理商品的程序# 1.商品存在文件里面# 2.添加商品的时候,商品存在的就不能添加了,数量只能是大于0的整数,价格可以是小数.整数,但是只能是大于0的# 商品名称# 商品价格# 商品数量# ...

  4. spring+springMvc+struts的SSH框架整合

    1.建立一个web项目 2.导入SSH框架所需jar包 3.配置web.xml文件 <?xml version="1.0" encoding="UTF-8" ...

  5. python笔记16-函数

    函数说白了,就是把一组代码合到一起,可以实现某种功能,需要再用到这个功能的话,直接调用这个函数就行了 1.定义函数def def my_open():#函数名,def定义函数,my_open给这个函数 ...

  6. 1093 字符串A+B

    给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 10​6​​ ...

  7. LeetCode 33 搜索旋转排序数组

    题目: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个 ...

  8. vscode下调试运行c++

    vscode是微软的最新产品,轻量易用,最初是前端用的多,尤其是typescript,因为vscode的作者也是typescipt作者.一般c++的IDE很多,比如visual studio等,但是都 ...

  9. setfacl语法2

    setfacl命令可以用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,setfacl可以更精 ...

  10. C++11 类型后置语法

    #include <iostream> #include <typeinfo> #include <type_traits> using namespace std ...