javascript计算两个日期之间的时间差代码实例
分类:实例代码
本章节分享一段代码实例,它实现了获取两个日期之间时间差的功能。
时间差的单位比较灵活,可以是秒、小时、天、或者月等等。
代码实例如下:
Date.prototype.Diff=function(interval,objDate){ if (arguments.length<2||objDate.constructor!=Date){ return undefined; } switch (interval) { case 's': return parseInt((objDate - this) / 1000); case 'n': return parseInt((objDate - this) / 60000); case 'h': return parseInt((objDate - this) / 3600000); case 'd': return parseInt((objDate - this) / 86400000); case 'w': return parseInt((objDate - this) / (86400000 * 7)); case 'm': return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1); case 'y': return objDate.getFullYear() - this.getFullYear(); default: return undefined; } }; var nDate=new Date(); var objDate=new Date("2015/10/3"); console.log(nDate.Diff("d",objDate));
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).function(interval, objDate){},此方法可以实现计算功能,第一个参数规定时间差的单位,第二个参数是一个时间对象。
(2).if (arguments.length<2||objDate.constructor!=Date){
return undefined;
} ,如果方法传递的参数少于两个或者第二个参数并非是Date对象,那么就返回undefined。
(3).switch (interval) {},switch流程控制语句。
(4).case 's': return parseInt((objDate - this) / 1000),如果要获取两个时间相差多少秒,那么就使用时间对象相减,然后再除以1000.两个时间对象进行减运算,会隐式的调用valueOf()方法,也就是会获取时间对象的时间戳,然后再除以1000就是相差的秒数。(5).case 'n': return parseInt((objDate - this) / 60000),如果要获取两个时间相差多少分钟,那么就要除以60000,一分钟有60秒,一秒是1000毫秒,所以60000=60*1000.
二.相关阅读:
(1).arguments可以参阅arguments可以参阅javascript arguments一章节。
(2).parseInt()可以参阅javascript parseInt()一章节。
(3).Date对象相关操作可以参阅JavaScript Date对象一章节。
网站出售中,有意者加微信:javadudu