简单问题:
为什么8
被解释为September
而不是August
?
new Date(2012, 8, 30)
new Date(Date.UTC(2012, 8, 30))
// Sun Sep 30 2012 00:00:00 GMT+0100 (BST)
答案 0 :(得分:3)
月份由0到11(包括0和11)范围内的整数标识。
而且,更具体地说,进一步:
月份值0指定1月; 1指明二月; 2指定March; 3指明四月; 4指定May; 5指定6月; 6指定7月; 7指定八月; 8指定9月; 9指定10月; 10指定11月; 11指定12月。
答案 1 :(得分:1)
因为月份参数为零
来自docs 的
此处Date被称为具有多个参数的构造函数,如果值大于其逻辑范围(例如,13为月值或70为微小值),则将调整相邻值。例如。新日期(2013,13,1)相当于新日期(2014,1,1),均创建2014-02-01的日期(请注意月份为0 )。类似地,对于其他值:新日期(2013,2,1,0,70)等同于新日期(2013,2,1,1,10),它们都创建2013-03-01T01:10:00的日期。