我确实在' 31/12/208'中创建了一个日期对象:
new Date('2018', '12', '31')
然而,它会产生一些与我期望完全不同的东西。
Date {Thu Jan 31 2019 00:00:00 GMT+0100 (Central European Standard Time)}
发生了什么?
答案 0 :(得分:3)
从0
开始索引月份。使用11
表示12月,而不是12
:
new Date(2018, 11, 31)
(是的,应该有数字而不是字符串,这使它更容易混淆)
来自the MDN:
<强>月强>
表示月份的整数值,从0开始 12月1月到11日。
答案 1 :(得分:1)
JavaScript在JavaScript中以0开头。一月是0
;十二月是11
。 12
代表次年1月。您希望使用11
代替12
:
new Date('2018', '11', '31')
-> Mon Dec 31 2018 00:00:00 GMT+0100 (Central European Standard Time)
答案 2 :(得分:1)
你已经忘记了JS中的几个月开始于 0 而不是1。
请使用
new Date('2018', '11', '31')
在你的情况下。