【发布时间】:2013-04-03 22:40:44
【问题描述】:
这个问题纯粹是为了满足我的好奇心。
在 JavaScript Date 对象中,当您调用 getMonth() 时,它会返回月份,但从 0 开始计数。
0 = January
1 = February
...
但是当您调用getDate() 时,它会从 1 开始计数
1 = 1
2 = 2
...
为什么不一致?
【问题讨论】:
-
但 getDate() 返回月份中的某天,而不是月份...
-
然后再次 getDay() 返回星期几(从 0 到 6)...
-
我猜是因为一个月中的某一天实际上是一个值,其中月份更像是一个可枚举类型(例如,您可能希望将其映射到月份名称数组)。但也可能只是 JavaScript 中的日期是一团糟,永远无法更改。
-
好问题。但我不认为有一个有意义的答案,事情就是这样。
-
这在构造函数 new Date(2017, 1, 1) 中最容易混淆,即 2017 年 2 月 1 日。
标签: javascript date