日期差异在JavaScript中无法正常工作
日期差异无法正常工作。日期的差异日期差异在JavaScript中无法正常工作,javascript,Javascript,日期差异无法正常工作。日期的差异2018/10/22和2018/10/28为6此结果是正确的。但是日期2018/10/22和2018/10/29之间的差异为8。这一结果是错误的。任何帮助都将不胜感激 var date1=新日期(“2018/10/22”); var日期2=新日期(“2018/10/28”); var timeDiff=Math.abs(date2.getTime()-date1.getTime()); var diffDays=数学单元(timeDiff/(1000*3600*
2018/10/22和2018/10/28
为6
此结果是正确的。但是日期2018/10/22和2018/10/29
之间的差异为8。这一结果是错误的。任何帮助都将不胜感激
var date1=新日期(“2018/10/22”);
var日期2=新日期(“2018/10/28”);
var timeDiff=Math.abs(date2.getTime()-date1.getTime());
var diffDays=数学单元(timeDiff/(1000*3600*24));
console.log(diffDays)代码>@ken-y-n是对的这是欧洲夏季发行的
2018年10月28日凌晨3:00,时间重置为凌晨2:00。因此,这一天更长(90000000ms,而不是86400000 ms)。这导致了
timeDiff / (1000 * 3600 * 24) == 7.041666666666667
而不是7。哪个Math.ceil的结果是8
要解决这个问题,您可以按照@t-j-crowder在评论中提到的答案中给出的建议进行操作。。。()
简而言之:将timediff四舍五入到最接近的整数,以调整夏令时:
var date1=新日期(“2018/10/22”);
var日期2=新日期(“2018/10/29”);
var timeDiff=Math.abs(date2.getTime()-date1.getTime());
var diffDays=数学单元(数学轮(timeDiff/(1000*3600*24));
console.log(diffDays)代码>@ken-y-n是对的这是欧洲夏季发行的
2018年10月28日凌晨3:00,时间重置为凌晨2:00。因此,这一天更长(90000000ms,而不是86400000 ms)。这导致了
timeDiff / (1000 * 3600 * 24) == 7.041666666666667
而不是7。哪个Math.ceil的结果是8
要解决这个问题,您可以按照@t-j-crowder在评论中提到的答案中给出的建议进行操作。。。()
简而言之:将timediff四舍五入到最接近的整数,以调整夏令时:
var date1=新日期(“2018/10/22”);
var日期2=新日期(“2018/10/29”);
var timeDiff=Math.abs(date2.getTime()-date1.getTime());
var diffDays=数学单元(数学轮(timeDiff/(1000*3600*24));
console.log(diffDays)
“2018/10/28”
不是一种格式,日期
构造函数知道如何可靠地解析。我不认为这是一个dup,因为它实际上是一个欧洲夏季问题。@t.J.Crowder您的权利我误读了它,刚刚发表了评论,看到日期前一个月,我刚刚在我的chrome控制台上测试了这个,我得到了区别,因为6和7可能不是代码的问题?和的副本。“2018/10/28”
不是一种格式,日期
构造函数知道如何可靠地解析。我不认为这是一个dup,因为它实际上是欧洲夏季发行的。@T.J.Crowder你的权利我误读了它,只是评论了一下,看到了一个月前的日期,而且我刚刚在我的chrome控制台中测试了它,我得到了6和7的区别,也许这不是代码的问题?和的副本。非常感谢你,非常感谢你