有谁知道为什么
new Date('2012','1','1')
返回 2012 年 2 月 1 日而不是 1 月 1 日?
和
new Date('2012','0','1')
将于 2012 年 1 月 1 日返回
这是奇怪的还是合乎逻辑的?
有谁知道为什么
new Date('2012','1','1')
返回 2012 年 2 月 1 日而不是 1 月 1 日?
和
new Date('2012','0','1')
将于 2012 年 1 月 1 日返回
这是奇怪的还是合乎逻辑的?
因为这正是 ECMAscript 规范(第 3 版)第 15.9.1.4 节所说的应该发生的事情。0=1 月,1=2 月,... 11=12 月。
http://www.ecma-international.org/publications/standards/Ecma-262.htm
请花一些时间阅读下面的 JavaScript Dates 文档: https ://www.w3schools.com/js/js_dates.asp
它注意到:
JavaScript 从 0 到 11 计算月份。一月是 0。十二月是 11。
所以你得到的结果是绝对正确的。