我有两个 Date 对象,我想计算小时的差值。
如果小时之间的差异小于18小时,我想将 date 对象推入数组。
Javascript/jQuery,这并不重要; 什么工作最好就做什么。
使用调用 date 对象上的 valueOf得到的时间戳:
valueOf
var diff = date2.valueOf() - date1.valueOf(); var diffInHours = diff/1000/60/60; // Convert milliseconds to hours
尝试使用 getTime(医生) :
getTime
var diff = Math.abs(date1.getTime() - date2.getTime()) / 3600000; if (diff < 18) { /* do something */ }
使用 Math.abs()我们不知道哪个日期是最小的,这段代码可能更有意义:
Math.abs()
var diff = (date1 - date2) / 3600000; if (diff < 18) { array.push(date1); }
最简单的方法是直接从一个对象中减去另一个对象的日期。
例如:
var hours = Math.abs(date1 - date2) / 36e5;
减法以毫秒为单位返回两个日期之间的差值。36e5是 60*60*1000的科学记数法,除以它可以把毫秒差转换成小时。
36e5
60*60*1000