1、需求
获取两个日期中的每一天
例如获取2023年7月1日至2023年7月5日
2、实现
获取函数
betweenDate(startTime, endTime) {
//初始化日期列表,数组
var allDate = new Array();
var i = 0;
//开始日期小于等于结束日期,并循环
while (startTime <= endTime) {
allDate[i] = startTime;
//获取开始日期时间戳
var startTime_ts = new Date(startTime).getTime();
//增加一天时间戳后的日期
var next_date = startTime_ts + 24 * 60 * 60 * 1000;
//拼接年月日,这里的月份会返回(0-11),所以要+1
var next_dates_y = new Date(next_date).getFullYear() + "-";
var next_dates_m =
new Date(next_date).getMonth() + 1 < 10 ?
"0" + (new Date(next_date).getMonth() + 1) + "-" :
new Date(next_date).getMonth() + 1 + "-";
var next_dates_d =
new Date(next_date).getDate() < 10 ?
"0" + new Date(next_date).getDate() :
new Date(next_date).getDate();
startTime = next_dates_y + next_dates_m + next_dates_d;
//增加数组key
i++;
}
return allDate
},
调用
var startTime = '2023-07-01'
var endTime = '2023-07-05'
var allDate = this.betweenDate(startTime, endTime)
console.log(allDate)