比较常用的功能,实现取一个时间段内的所有日期,或取时间段内指定星期几的日期
function setHouseRatesColumn(startTime, endTime, week) { // 获取时间段内的所有日期/指定星期几的日期 week = week == 7 ? 0 : week; let dateList = []; startTime = new Date(startTime); endTime = new Date(endTime); while ((endTime.getTime() - startTime.getTime()) >= 0) { let year = startTime.getFullYear(); let month = startTime.getMonth() + 1 < 10 ? '0' + (startTime.getMonth() + 1) : startTime.getMonth() + 1; let day = startTime.getDate().toString().length == 1 ? '0' + startTime.getDate() : startTime.getDate(); if(isNaN(week) || startTime.getDay() == week) { dateList.push(`${year}-${month}-${day}`); } startTime.setDate(startTime.getDate() + 1); } return dateList; }
获取两个日期之间的所有日期
setHouseRatesColumn('2022-08-20', '2022-08-25'); // ["2022-08-20", "2022-08-21", "2022-08-22", "2022-08-23", "2022-08-24", "2022-08-25"]
获取两个日期之间的所有星期一
setHouseRatesColumn('2022-08-01', '2022-08-31', 1); // ["2022-08-01", "2022-08-08", "2022-08-15", "2022-08-22", "2022-08-29"]
获取两个日期之间的所有星期日
setHouseRatesColumn('2022-08-01', '2022-08-31', 7); // ["2022-08-07", "2022-08-14", "2022-08-21", "2022-08-28"]