0

我正在尝试计算两个 JS 日期之间的天数差异。我有一个在 Firefox 中运行良好的函数:

function timeDiffDays(date01,date02){
    return Math.abs(Math.ceil( (date01.getTime() - date02.getTime()) /1000/60/60/24 ));
}

 date01=2013/11/06              //Wed 6th November 2013
 date02=2013/11/04              //Mon 4th November 2013

法郎:

日期01 = 1383741491140;日期02 = 1383568691000;

所以天数的最终差异:2.0000016203703703,Math.ceil()= 正确 3

但在 Safari (WEBKIT) 中:

日期01=1383741564156;日期02=1383568764156;

天数的最终差异:2,Math.ceil() = 错误 2

为了解决这个问题,我不得不调整过去日期的小时、分钟和秒:

date01.setHours(12);date01.setMinutes(11);date01.setSeconds(10);
date02.setHours(12);date02.setMinutes(5);date02.setSeconds(11);

如果它们被明确设置为相同,或者只有 1 秒的差异,结果就会出错。有更好的方法吗?

4

0 回答 0