JavaScriptで指定範囲内の日付の配列を生成する方法


  1. ループを使用して日付を生成する方法:
function generateDateArray(startDate, endDate) {
  var dates = [];
  var currentDate = startDate;
  while (currentDate <= endDate) {
    dates.push(new Date(currentDate));
    currentDate.setDate(currentDate.getDate() + 1);
  }
  return dates;
}
var startDate = new Date('2024-01-01');
var endDate = new Date('2024-01-31');
var dateArray = generateDateArray(startDate, endDate);
console.log(dateArray);

この例では、指定された範囲の日付をループで生成し、配列に追加しています。開始日から終了日までの日付が配列として返されます。

  1. Array.from()メソッドを使用する方法:
function generateDateArray(startDate, endDate) {
  var length = (endDate - startDate) / (1000 * 60 * 60 * 24) + 1;
  return Array.from({ length }, (_, index) => {
    var currentDate = new Date(startDate);
    currentDate.setDate(startDate.getDate() + index);
    return currentDate;
  });
}
var startDate = new Date('2024-01-01');
var endDate = new Date('2024-01-31');
var dateArray = generateDateArray(startDate, endDate);
console.log(dateArray);

この例では、Array.from()メソッドを使用して配列を生成し、各インデックスに対応する日付を計算しています。