これは私のコードです:
var dat = new Date("24/03/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
しかし、それは印刷しTue Jan 06 2015 00:00:00 GMT+0100
ますか?
日付が間違っています。2013年3月31日である必要があります(この形式で印刷したいと思います)。
これは私のコードです:
var dat = new Date("24/03/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
しかし、それは印刷しTue Jan 06 2015 00:00:00 GMT+0100
ますか?
日付が間違っています。2013年3月31日である必要があります(この形式で印刷したいと思います)。
私のブラウザ(Chrome)は「無効な日付」を出力しますが、どうやらあなたのブラウザは初期化日付を dd/mm/yyyy ではなく mm/dd/yyyy 形式で解釈しているようです。したがって、2013 年の 24 番目の月の 3 日、つまり 2015 年 1 月 3 日であると見なされます。
7 日を追加すると、なぜ 1 月 6 日と表示されるのかわかりません。
最も安全な方法は、数値を明示的に指定することです。
var dat = new Date( 2013, 2, 24 );
日付の形式を変更して、月の次の日を入れます。
var dat = new Date("03/24/2013");
dat.setDate(dat.getDate() + 7);
console.log(dat)
私にとって、これは次を返します:
Sun Mar 31 2013 00:00:00 GMT+0000 (GMT Standard Time)
最初に月番号を指定する必要があります。そうすれば正しい答えが得られる
このコードを試してください
var dat = new Date("03/24/2013");
dat.setDate(dat.getDate() + 7);
var curr_date = dat.getDate();
var curr_month = dat.getMonth() + 1; //Months are zero based
var curr_year = dat.getFullYear();
console.log(curr_date + "/" + curr_month + "/" + curr_year);
7を追加する前に、日付を印刷する必要があります。2013年の24か月目の3日目に設定されているのではないかと思います。これは、2015年1月に近いところに相当します。
そのため、現在の日付よりもかなり進んだ日付を取得しています。なぜ10日ではなく1月6日になるのかはわかりませんが、入力文字列をUS形式に変更するか、誤解されないより明示的なコンストラクターを使用するだけで修正できる可能性があります。:mm/dd/yyyy
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
これを試して!!!
var aDate = new Date(2013,3,24);
aDate.setDate(aDate.getDate() + 7);
var dateString = aDate.getDate() + "-" + aDate.getMonth() + "-" + aDate.getFullYear();
alert(dateString);