我正在尝试计算给定日期的时间戳(小时和分钟目前并不重要)。
我不是在寻找计算两个日期之间的天数,而是作为计算时间戳问题的示例,让我们看一下以下计算两个日期之间的天数的代码片段:
console.log(((new Date(2017,2,10)).getTime() - (new Date(2017,1,31)).getTime())/86400000);
这个片段为我打印 7 ,而如果我计算正确,它实际上应该打印 10 。 我知道我的代码有问题,但我不知道它是什么。
最佳答案
Date 构造函数中的月份是 0 索引的,因此 0 是一月,1 是二月等等,而且参数可能会溢出 (new Date(2017,11,32)
实际上是
2018 年 1 月 1 日星期一 00:00:00
)。因此,在您的示例中,日期实际上是:
new Date(2017,1,31)
Fri Mar 03 2017 00:00:00
new Date(2017,2,10)
Fri Mar 10 2017 00:00:00
因此结果是正确的。
关于Javascript Date.getTime 函数没有返回正确的值或者我做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35813810/