使用数字和拆分导致意外日期

时间:2014-02-06 11:42:30

标签: javascript

为什么以下代码:

    newDate = "2-24-2014";
    var splitDate = newDate.split('-');
    var dateObj = new Date(Number(splitDate[0]), Number(splitDate[1]) - 1, Number(splitDate[2]));

产生以下内容?:

Sat Jun 05 1909 00:00:00 GMT+0100 (GMT Daylight Time)

我知道格式化但不知道奇怪的日期本身。我想知道它是否与Number有关,但似乎无法找到任何答案。

2 个答案:

答案 0 :(得分:1)

new Date(Year, Month, Date)

以上是实际格式。虽然你给了new Date(Month, Date, Year)

var dateObj = new Date(Number(splitDate[2]), Number(splitDate[0]) - 1, Number(splitDate[1]));

答案 1 :(得分:0)

问题是参数的顺序:

new Date(Number(splitDate[2]), Number(splitDate[0]) - 1, Number(splitDate[1]));

或只是这样做:

new Date(Date.parse("2-24-2014"))