こんにちは、さるまりんです。
プログラミングをしていて現在からちょうど一年後の日時を取得したい時が出てきます。
JavaScriptでは次のように一年後を取得します。
let date = new Date();
date.setFullYear(date.getFullYear() + 1);
まず現在の日付を取得、その日付からgetFullYear()
で年を取得、それにプラス1してsetFullYear()
で設定し直しです。
この方法で加算減算することができます。
以下だと20年前になります。
date.setFullYear(date.getFullYear() - 20);
他の単位の場合はこんな感じです
// 3ヶ月後
date.setMonth(date.getMonth() + 3);
// 7日前
date.setDate(date.getDate() - 7);
// 8時間後
date.setHours(date.getHours() + 8);
// 15分前
date.setMinutes(date.getMinutes() - 15);
// 3秒後
date.setSeconds(date.getSeconds() + 3);
特定の日付から計算するのであれば以下のように日時を作成して計算します。
let date = new Date(2023, 10, 20, 7, 30, 0);
date.setFullYear(date.getFullYear() + 1);
注意しないといけないのが月の値です。
Date
のコンストラクタで月を指定する際、月は0から11の値を持つので「11月」を「10
」で指定します。
console.log(date);
で出力すると
Wed Nov 20 2024 07:30:00 GMT+0900
と表示されました。
期待したように来年の今朝の値になっていますね。
日付計算はいろんなところですることがあるので、覚えておけるようたくさんプログラムを書こうと思います。
読んでくださってありがとうございます。
それではまた!