Javascript 日期字符串选择了不正确的月份

Javascript date string picking up incorrect month

我有一个这样的约会:

Wed Apr 06 2016 12:21:07 GMT+0530 (India Standard Time)

我需要这个日期之后的月份。我的代码是:

dateText= "Wed Apr 06 2016 12:21:07 GMT+0530 (India Standard Time)"
var x = new Date(dateText);
var y = x.getMonth();
console.log(y)

y 的值为 3。但理想情况下,它应该是 4(因为月份是四月)。我想到的另一种方法是将 dateText 拆分为 space 即

arrDate = dateText.toString.split(" ");) 

然后从 arrDate 数组中提取月份。

谁能告诉我为什么 javascript 在我上面的第一个代码中显示“3”而不是“4”?

DATE_OBJECT.getMonth() 是从零开始的。 (1 月为 0,12 月为 11)。

你需要做var y = x.getMonth() + 1;

查看文档:http://www.w3schools.com/jsref/jsref_getmonth.asp

getMonth 从零开始

dateText= "Wed Apr 06 2016 12:21:07 GMT+0530 (India Standard Time)"
var x = new Date(dateText);
var y = x.getMonth() + 1;
console.log(y)

这是因为 getDate() 函数 return 的值是 0-11,所以如果您尝试获取第 4 个月,它将 return 3.