Javascript Date()有时返回错误的值

Rob*_*ert 2 javascript date

有时在使用此构造函数时,我得到的值不正确:

new Date(year, month, day, hours, minutes, seconds, milliseconds);
Run Code Online (Sandbox Code Playgroud)

我确定这是我做错了,但看不到它.这就是我正在做的事情:

我有一个包含这样的月,日和年索引的数组

["02", "29", "2015"]
Run Code Online (Sandbox Code Playgroud)

然后我像这样制作一个Date对象

date = new Date(dateArray[2], dateArray[0] - 1, dateArray[1], 0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

当我将日期对象打印到控制台时,我得到了这个:

Sun Mar 01 2015 00:00:00 GMT-0700 (MST)
Run Code Online (Sandbox Code Playgroud)

但有时它会按预期工作.使用这个数组:

["03", "15", "2015"]
Run Code Online (Sandbox Code Playgroud)

我明白了:

Sun Mar 15 2015 00:00:00 GMT-0600 (MDT)
Run Code Online (Sandbox Code Playgroud)

谁能看到我在这里做错了什么?

提前致谢

p.s*_*w.g 7

因为没有2月29日在2015年!那不是闰年.2月28日之后的第二天是3月1日.这是预期的行为.

精确行为在ECMAScript 5.1规范的§15.9.1.5中定义.