TimeDifference.js获取时间差插件
http://www.oschina.net/p/timedifference
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
Js代码 /** Created by postbird on 2016/4/1. ...*/ /** * @postbird * 1、本插件采用js编写,可直接将函数复制到个人js文件,减少get请求数 * 2、author:powered by postbird * 3、email: ptbird@yeah.net * 4、site:http://www.ptbird.cn * 5、license : MIT * */ /** * 函数使用说明: * 1、直接调用函数 TimeDifference() * 返回说明: 返回距离当前的时间差 * */ function timeDifference(tmpTime) { var mm=1000;//1000毫秒 代表1秒 var minute = mm * 60; var hour = minute * 60; var day = hour * 24; var month = day * 30; var ansTimeDifference=0;//记录时间差 var tmpTimeStamp = tmpTime ? Date.parse(tmpTime.replace(/-/gi, "/")) : new Date().getTime();//将 yyyy-mm-dd H:m:s 进行正则匹配 var nowTime = new Date().getTime();//获取当前时间戳 var tmpTimeDifference = nowTime - tmpTimeStamp;//计算当前与需要计算的时间的时间戳的差值 if (tmpTimeDifference < 0) { //时间超出,不能计算 alert("开始日期大于结束日期,计算失败!"); return 0; } /** * 通过最开始强调的各个时间段用毫秒表示的数值,进行时间上的取整,为0的话,则没有到达 * */ var DifferebceMonth = tmpTimeDifference / month; //进行月份取整 var DifferebceWeek = tmpTimeDifference / (7 * day);//进行周取整 var DifferebceDay = tmpTimeDifference / day;//进行天取整 var DifferebceHour = tmpTimeDifference / hour;//进行小时取整 var DifferebceMinute = tmpTimeDifference / minute;//进行分钟取整 if (DifferebceMonth >= 1) { return tmpTime; //大于一个月 直接返回时间 } else if (DifferebceWeek >= 1) { ansTimeDifference= parseInt(DifferebceWeek) + "个星期前"; } else if (DifferebceDay >= 1) { ansTimeDifference = parseInt(DifferebceDay) + "天前"; } else if (DifferebceHour >= 1) { ansTimeDifference = parseInt(DifferebceHour) + "个小时前"; } else if (DifferebceMinute >= 1) { ansTimeDifference = parseInt(DifferebceMinute) + "分钟前"; } else { ansTimeDifference = "刚刚"; } return ansTimeDifference; } |