JavaScriptでn日後を求める方法

Pocket

JavaScriptで日付の加算、減算をする方法についてまとめます。

setDateを使う方法

2023年1月1日の10日後を求めます。
getDateを使うと年月日のうちの日が求まります。これにnを加えた数をsetDateで日に反映します。
イメージは次の通りです。
「2023,1,1」→「2023,1,1+10」→「2023,1,11」

n = 10;
base_date = new Date(2023, 1 - 1, 1);
new_date = base_date;
new_date.setDate(new_date.getDate() + n);
console.log(new_date);

タイムスタンプを使う方法

日付オブジェクトにgetTimeを適用するとタイムスタンプが取れます。
これは1970年1月1日0時からの通算ミリ秒です。
タイムスタンプをnew Dateに適用すると日付が設定できます。
new Dateは年月日、タイムスタンプ、日付文字列のいずれを使っても日付オブジェクトを生成できます。

n = 10;
base_date = new Date(2023, 1 - 1, 1);
timestamp = base_date.getTime();
new_date = new Date(timestamp + n * 24 * 60 * 60 * 1000);
console.log(new_date);

年月日に分解して方法

年、月、日に分解して日の部分に加える方法です。
setDateを使う方法に似ていますが、こちらの方が分かりやすいです。

n = 10;
base_date = new Date(2023, 1 - 1, 1);
y = base_date.getFullYear();
m = base_date.getMonth();
d = base_date.getDate()
new_date = new Date(y, m, d + n);
console.log(new_date);

[ 2023年8月1日 | カテゴリー: JavaScript | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報