/** * 时间前后向前推算时间集合 * @param {string:before|after} timebd:获取时间往后推,还是往前推, * @param {boole} haveCurrentDay:包不包含当天时间, * @param {number} Days:计算几天的时间, * @param {string:"2023-11-02"} timing:指定不指定当天的日期 * @returns {array}数据集合 */ export const nextDay = (timebd, haveCurrentDay, Days, timing) => { let today = new Date() //获取今天的日期 if (timing) { today = new Date(timing) } let date2 = new Date(today); let dateArray = [] timebd=timebd ? timebd:"after" haveCurrentDay=haveCurrentDay ? true:false Days=Days ? Days:7 function TimestampToDate2(Timestamp) {   let now = new Date(Timestamp),   y = now.getFullYear(),   m = now.getMonth() + 1,   d = now.getDate();   return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d); } let fori=haveCurrentDay ? 0:1; let fortotal=haveCurrentDay ? Days:Days+1; for(let i = fori; i < fortotal; i++){ let everyDay="" if (timebd=="after") {//未来 everyDay=date2.setDate(today.getDate() + i) }else{//过去 everyDay=date2.setDate(today.getDate() - i) } dateArray.push(TimestampToDate2(everyDay)) //获取未来7天内的日期 } if (timebd=="after") {//未来 return dateArray }else{//过去 return dateArray.reverse() } } /** * 返回两个日期之前的天数 */ export const getDateByDays = (startDate, endDdate) => { let d1 = Date.parse(new Date(startDate)); let d2 = Date.parse(new Date(endDdate)); // 时间戳相减 / 天数 let day = parseInt((d2 - d1) / (1000 * 60 * 60 * 24)); console.log(day) return day }