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

How to get the hours difference between two date objects?

本文关键字:之间 对象 小时 时差 日期 何获取 获取 两个      更新时间:2023-09-26

>我有两个Date对象,我想计算小时的差异。

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

Javascript/jQuery,并不重要;什么工作最好就可以了。

最简单的方法是直接将日期对象彼此减去。

例如:

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

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

尝试使用 getTime (mdn doc):

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); }

使用通过在日期对象上调用valueOf获得的时间戳:

var diff = date2.valueOf() - date1.valueOf();
var diffInHours = diff/1000/60/60; // Convert milliseconds to hours