Javascript日期字符串拾取不正确的月份

时间:2016-04-07 12:31:15

标签: javascript date-formatting

我有这样的约会:

  

2016年4月6日星期三12:21:07 GMT + 0530(印度标准时间)

我需要这个月之外的月份。我的代码是:

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(因为月份是4月)。我想到的另一种方法是用空格分割dateText,即

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

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

任何人都可以告诉我为什么javascript会显示' 3'而不是' 4'在我上面的第一个代码中?

3 个答案:

答案 0 :(得分:3)

DATE_OBJECT.getMonth()基于零。 (1月为0,12月为11)。

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

请参阅文档:http://www.w3schools.com/jsref/jsref_getmonth.asp

答案 1 :(得分:1)

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)

答案 2 :(得分:-1)

这是因为getDate()函数返回0-11的值,所以如果你试图获得第4个月,它将返回3。