<html> <head> <title></title> <script src="https://www.jb51.net/js/TimeDifference.js" type="text/javascript"></script> <script src="https://www.jb51.net/js/jquery-1.10.2-min.js" type="text/javascript"></script> </head> <body> <h2>该插件发布时间:<small></small> </h2> <script type="text/javascript"> $("#allDemo").text(timeDifference("2016-06-05 10:11:00")); </script> <font color="red">2016-06-03 10:20:23 </font><br> 距离目前时间差: <strong><font color="red"><span></span></font></strong><br> <font color="red">2016-06-07 10:02:23 </font><br> 距离目前时间差: <strong><font color="red"><span></span></font></strong> </body> <script type="text/javascript"> $(document).ready(function(){ //2016-5-3 10:20:23 var demo1Result=timeDifference($("#demo1Font").text()); $("#timeDifferenceDemo1").text(demo1Result); $("#timeDifferenceDemo2").text(timeDifference($("#demo2Font").text())); }); </script> </html>
TimeDifference.js代码如下:
/** * 函数使用说明: * 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, "https://www.jb51.net/")) : 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; }
结果如图: