1. ホーム
  2. javascript

[解決済み] JavaScriptで日付範囲をループする

2022-04-25 12:58:01

質問

与えられた2つの Date() オブジェクトがあり、一方が他方より小さい場合、その日付の間で毎日ループさせるにはどうしたらよいでしょうか?

for(loopDate = startDate; loopDate < endDate; loopDate += 1)
{

}

このようなループは有効でしょうか? しかし、ループのカウンターに1日を追加するにはどうすればよいのでしょうか?

ありがとうございます。

解決方法は?

1日足すと翌月に繰り越されることを利用し、ミリ秒をいじらずに行う方法を紹介します。夏時間の問題もありません。

var now = new Date();
var daysOfYear = [];
for (var d = new Date(2012, 0, 1); d <= now; d.setDate(d.getDate() + 1)) {
    daysOfYear.push(new Date(d));
}

なお、日付を保存したい場合は、(上記のように new Date(d) の最終的な値として保存されることになります。 d をループさせる。