我正在尝试计算两个 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 秒的差异,结果就会出错。有更好的方法吗?