3

我有以下代码:

var newDate=new Date('05/22/2012');
var month=newDate.getMonth();
var day=newDate.getDate()+(-2);
var year=newDate.getYear();
document.write(month+'/'+day+'/'+year);

我预计它会返回 '05/20/2012' 但它会返回 '04/20/2012'

这对我来说毫无意义 - 有人可以帮助我了解发生了什么以及如何获得正确的响应吗?

感谢您的关注!

4

3 回答 3

10

.getMonth()是从零开始的。如0=January11=December

尝试

var month=newDate.getMonth() + 1;
于 2012-05-22T16:38:31.907 回答
7

.getMonth()是从零开始的。一月对应0,二月对应1,以此类推。

截至本问题提出时,月份是 May,因此.getMonth()返回4

你想要.getMonth() + 1

于 2012-05-22T16:38:23.353 回答
-2
getMonth() + 1

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getMonth

于 2012-05-22T16:40:23.303 回答