我陷入了一个相当简单的问题。我想减去两个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 指出正确的错误。
答案 0 :(得分:2)
代码是正确的,因此rows[i].unixTime
背后的值必须是错误的。
答案 1 :(得分:-1)
最简单的方法是直接从彼此中减去日期对象。
例如:
var hours = Math.abs(date1 - date2) / 36e5;
减法返回两个日期之间的差异(以毫秒为单位)。 36e5是60 * 60 * 1000的科学记数法,除以将毫秒差异转换为小时。