如何获得两个date对象之间的小时差异?
我有两个Date对象,我想计算小时的差异。
如果小时差小于18小时,我想将date对象推入一个数组。
Javascript / jQuery,并不重要; 最好的做法是什么。
最简单的方法是直接相互减去date对象。
例如:
var hours = Math.abs(date1 - date2) / 36e5;
减法返回两个date之间的差异,以毫秒为单位。 36e5
是60*60*1000
的科学记数法,将毫秒差分为小时。
尝试使用getTime
( mdn doc ):
var diff = Math.abs(date1.getTime() - date2.getTime()) / 3600000; if (diff < 18) { /* do something */ }
使用Math.abs()
我们不知道哪个date是最小的。 这个代码可能更相关:
var diff = (date1 - date2) / 3600000; if (diff < 18) { array.push(date1); }
通过调用date对象上的valueOf
来获得时间戳:
var diff = date2.valueOf() - date1.valueOf(); var diffInHours = diff/1000/60/60; // Convert milliseconds to hours