我有一个问题,我不知道出了什么问题。
new Date(2017,3,31).getDate()
返回1
(如1.4。,而不是31.3。)
new Date(2017,3,30).getDate()
返回30(如30.3。),这是正确的。
我错过了什么吗?
答案 0 :(得分:5)
JavaScript中的月份是从零开始的,因此Date(2017,3,31)
实际上是4月31日,但它并不存在。所以你最终会在5月1日结束。
答案 1 :(得分:3)
你可能期望3月是3月,因为它是一年中的第三个月。
JavaScript月份从0开始:
0 - January
1 - February
2 - March
...
您正在尝试创建4月31日,但不存在。将其更改为:
new Date(2017, 2, 31).getDate(); // March 31st