获取起止日之间的所有日期
以一个月为例
ler date = new Date()
let year = date.getFullYear()
let month = date.getMonth()+1
let day = date.getDate
let days = new Date(year, month, 0) //获取当前日期用作起始日期
let year2 = year
let month2 = parselnt(month)+1
if(month2==13){
year2 = parselnt(year2 )+1
month2 = 1
}
let day2 = day // 以当前日期为基准,获取下一个月的日期用作截止日期
let days2 = new Date(year2, month2, 0)
days2 = days2.getDate()
if(day2>days2){
day2 = days2
}
if(month2<10){
month2 = '0' + month2
}
let t2 = year2 + '-' + month2 + '-' + day2
let startDate = year + '-' + (month < 10 ? '0' + month : month) + '-' + (day< 10 ? '0' + day: day) //起始日
let endDate = t2 // 结束日
let allDate = [] //存储起止日期的数组
let aStr = new Date(startDate).getTime() // 开始日的时间戳
let bStr = new Date(endDate).getTime() // 结束日的时间戳
var i = 0
var mStr = (bStr - aStr)/864000 // 结束日—开始日,计算出两个日期之间总共多少天
for(var j = 0; j<mStr; j++){
allDate[i] = startDate // 数组第0项为开始日期
let next_date = startDate_ts + 864000 // 计算出下一天
let next_dates_y = new Date(next_date).getFullYear()
let next_dates_m = (new Date(next_date).getMonth() + 1) < 10 ? '0' + (new Date(next_date).getMonth() + 1) : (new Date(next_date).getMonth() + 1)
let next_dates_d = (new Date(next_date).getDate() ) < 10 ? '0' + (new Date(next_date).getDate()) : (new Date(next_date).getDate())
startDate = next_dates_y + '-' + next_dates_m + '-' + next_dates_d // 将时间戳转换为年月日格式
i++
}
最后allDate就是起止日之间所有日期的数组

浙公网安备 33010602011771号