Date()
オブジェクトで合計30日が必要です。Date()
を使用しました。.setDate(.getDate()+30)
で新しい日付を設定しました。それはconsole.log()
で印刷したときに更新されたようですが、javascript日付()合計日ではなく月に
var myDate = new Date();
myDate.setDate(myDate.getDate() + 30);
console.log(myDate); // will show 1 month ahead
console.log("Next Month (wrong): " + myDate.getMonth()); // will thow this month! why???
var dateData = {
'day':(myDate.getDate() < 10) ? "0" + myDate.getDate() : myDate.getDate(),
'month':(myDate.getMonth() < 10) ? "0" + myDate.getMonth() : myDate.getMonth(),
'year':myDate.getFullYear()
} ;
console.log(dateData.year + "-" + dateData.month + "-" + dateData.day) ;
// it sum date but not month
PS、値を取得しよう:今日は、それがコンソールでの出力は以下となり07 する必要があります8月28 + 30日です:
Date 2017-09-27T18:07:56.101Z Scratchpad/3:14:1
Next Month (wrong): 8 Scratchpad/3:15:1
2017-08-27 // this should print 2017-09-27 but the month still 08
間違って何?これはJavaScriptエラーまたはプログラマーの混乱ですか?
アダムの答えは正しいのですが、サイドノートで...ありませんmutate Dateオブジェクト。ただしないでください。ちょうど新しいものを作ってください。あなた自身に恩恵を与え、日付はセッターを持っていないとふりまえます。 –
私は@ JaredSmithに同意します。あなたは、https://momentjs.com/ – Adam
@ JaredSmithのようなライブラリを使うほうがはるかに良いです。私はそれが良いアドバイスだとは思わない、あなたは推論された議論でそのようなアサーションをバックアップする必要があります。 – RobG