如何获取两个日期对象之间的小时差?

2022-08-30 05:27:37

我有两个 Date 对象,我想以小时为单位计算差值。

如果小时数的差异小于 18 小时,我想将 date 对象推送到数组中。

Javascript / jQuery,并不重要;效果最好的方法会行得最好。


答案 1

最简单的方法是直接相互减去日期对象。

例如:

var hours = Math.abs(date1 - date2) / 36e5;

减法返回两个日期之间的差值(以毫秒为单位)。 是 的科学记数法,除以将毫秒差转换为小时。36e560*60*1000


答案 2

尝试使用(mdn 文档):getTime

var diff = Math.abs(date1.getTime() - date2.getTime()) / 3600000;
if (diff < 18) { /* do something */ }

使用我们不知道哪个日期是最小的。此代码可能更相关:Math.abs()

var diff = (date1 - date2) / 3600000;
if (diff < 18) { array.push(date1); }