如何计算时间忽略日期之间的时差

时间:2018-01-31 13:22:20

标签: javascript datetime

我计算2小时之间的小时数。

var timeDiff = Math.abs(datetime.getTime() - now.getTime());
var diffHours = Math.ceil(timeDiff / (1000 * 3600)); 

但PM到AM是个问题。

例如 - 开始时间晚上9:30,结束时间是早上6:30。 技术上它的2个日期。

从上面的代码中返回14个小时,这是正确的。

但我想做的只是计算时差并忽略日期。实际上应该是9个小时。

任何建议。

2 个答案:

答案 0 :(得分:1)

Date对象具有多个getTime()函数。

尝试使用getHours(),getMinutes()等。

MDN spec

答案 1 :(得分:1)

当getTime返回毫秒时,差异endDate.getTime() - startDate.getTime()将是正确的毫秒数(忽略任何时区问题)你必须花费从startDate到endDate

只需正确设置日期即可。如果日期时间是昨天晚上9:30,那么你不应该在晚上9:30将它设置为今天,似乎问题更多的是你的dateTime变量的初始化。