gpt4 book ai didi

6 月 31 日的 Javascript 日期错误?

转载 作者:行者123 更新时间:2023-12-01 02:11:14 25 4
gpt4 key购买 nike

我正在尝试检查日期表单,但遇到以下问题:2014-06-30 和 2014-07-01 之间的日期差异是两天。这是我的测试代码的简化部分:

var date1 = (new Date(2012, 06, 30)).getTime();
var date2 = (new Date(2012, 07, 01)).getTime();
console.log(Math.round((date2-date1)/(1000.0*60*60*24)));

结果是“2”。仅当我将 date1 设置为 (2014, 06, 31) 时,它才会给我 1 但你知道 6 月只有 31 天!如果我将年份更改为 2012、2013,结果是相同的事件...

最佳答案

月份从 0 开始,如 documentation Date 对象的解释:

Integer value representing the month, beginning with 0 for January to 11 for December.

所以 new Date(2012, 06, 30) 并不是您想象的六月。这是七月。这就是为什么它有 31 天。

在您的示例中,您计算​​的是 8 月 1 日和 7 月 30 日之间的日期差,根据您的计算结果,相差 2 天。

如果您想计算 7 月 1 日和 6 月 30 日之间的日差:

var date1 = (new Date(2012, 05, 30)).getTime();
var date2 = (new Date(2012, 06, 01)).getTime();
console.log(Math.round((date2-date1)/(1000.0*60*60*24)));

关于6 月 31 日的 Javascript 日期错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com