计算Javascript中两个日期时间之间的总小时数

时间:2015-03-11 21:27:27

标签: javascript node.js datetime

我陷入了一个相当简单的问题。我想减去两个JS日期并计算它们之间的总小时数,如果差异超过一小时,我想调用一些代码。

以下是我的尝试:

var timeDiffInMilliSeconds=Math.abs(new Date() - (new Date(rows[i].unixTime*1000))); //get total milliseconds
var timeDiffInHours=timeDiffInMilliSeconds/3600000; //get total hours
if(timeDiffInHours>=1){
    rows[i].statusCode=0;
}

但它没有给我比预期更高的差异。任何人都可以指出这个问题吗?

修改

Above方法是正确的。在我的情况下,这是UnixTime计算的一个问题。感谢 @DarekKay 指出正确的错误。

2 个答案:

答案 0 :(得分:2)

代码是正确的,因此rows[i].unixTime背后的值必须是错误的。

答案 1 :(得分:-1)

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

例如:

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

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