我有2个时间日期,我希望看到小时数的差异。在夜间过夜夏令时,它忽略了夏令时。这就是我想要的。时间日期为March 8th 11 PM
,超时时间为March 9th 7 AM
。预计将获得7个小时,但它将返回8
var hours = Math.abs(objTimeIn.valueOf() - objTimeOut.valueOf()) / 36e5;
答案 0 :(得分:0)
您需要关心日期的当前时区偏移量。 你可以使用这段代码
var d1 = new Date("03-10-2015");
var d2 = new Date("03-08-2015");
// Retrieve timezone offsets
var dst1 = d1.getTimezoneOffset();
var dst2 = d2.getTimezoneOffset();
// get the diff between the two dates
var diff = d1 - d2;
// timezone offset
var add = (dst2 - dst1) * 60 * 1000;
// add the offset
var ms = diff + add;
console.log(ms/36e5);