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;
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.
我有一个这样的约会:
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;
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.