Javascript Date.getTime 函数没有返回正确的值或者我做错了什么

标签 javascript datetime

我正在尝试计算给定日期的时间戳(小时和分钟目前并不重要)。
我不是在寻找计算两个日期之间的天数,而是作为计算时间戳问题的示例,让我们看一下以下计算两个日期之间的天数的代码片段:

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/

相关文章:

Javascript正则表达式数值范围

python - 将特定时区的日期时间对象转换为该时区的纪元秒

c++ - boost local_date_time : how to set a specific time information(hour, 分钟和秒)

javascript - 解释封装的匿名函数语法

javascript - 如何在js中进行排序?

javascript - 你能为流程图的 minimap 组件推荐库吗?

javascript - 如何在 JavaScript 中将数字转换为日期

Ruby:如何从 CSV 文件中计算给定 2 个日期时间的持续时间?

Java 8 日期时间格式日期+偏移量

javascript - 如何使用 Javascript 而不是 jQuery 来实现scrollTop 和toggleClass?