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()ゼロベースです。1月は0に対応し、2月は1に対応します。

この質問の時点では、月は5月であるため、を.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 に答える