每日一题之求两个日期中间的有效日期

109 阅读1分钟

求两个日期中间的有效日期

function getValidDates(startDate, endDate) {
  var validDates = [];
  var currentDate = new Date(startDate);

  // 循环跳出条件, 当currentDate > endDate时, 所以就要想办法重新设置currentDate
  while (currentDate <= endDate) {
  	// 每次拿到当前时间, 添加到validDates数组中
    validDates.push(new Date(currentDate).toISOString().split("T")[0]);
    // 重新设置currentDate, 每只醒一次while循环, currentDate+1天
    currentDate.setDate(currentDate.getDate() + 1);
  }

  return validDates;
}

// 示例用法
var startDate = new Date("2023-01-01");
var endDate = new Date("2023-01-10");
var validDates = getValidDates(startDate, endDate);
// ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05', '2023-01-06', '2023-01-07', '2023-01-08', '2023-01-09', '2023-01-10']