JavaScript:日付に加算・減算して未来や過去の日付にする

ある日付の数日前、数日後といった日付を得たいことがあったので、そのメモです。

※ 便利な date-fns ライブラリがあったので、そちらについては別で投稿しました。

日数の加算・減算

getDate の結果に加算・減算して、setDate します。

// 明日
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 1);
console.log(currentDate);

// 昨日
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() - 1);
console.log(currentDate);

月数の加算・減算

getMonth の結果に加算・減算して、setMonth します。

// 来月
var currentDate = new Date();
currentDate.setMonth(currentDate.getMonth() + 1);
console.log(currentDate);

// 先月
var currentDate = new Date();
currentDate.setMonth(currentDate.getMonth() - 1);
console.log(currentDate);

月末の日付を使う場合は、用途に合っているか注意した方が良さそうです。

var currentDate = new Date('2023-01-31');
currentDate.setMonth(currentDate.getMonth() + 1);
console.log(currentDate);
// 結果: Fri Mar 03 2023 09:00:00 GMT+0900 (日本標準時)

月末の日付を得るなら、月初め ー 1日 で計算するなどでしょうか。

コメント