js返回未来或过去七天等时间合集

/**
 * 时间前后向前推算时间集合
 * @param {string:before|after} timebd:获取时间往后推,还是往前推,
 * @param {boole} haveCurrentDay:包不包含当天时间,
 * @param {number} Days:计算几天的时间,
 * @param {string:"2023-11-02"} timing:指定不指定当天的日期
 * @returns {array}数据集合
 */
  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()
    }
  }

返回结果

console.log(nextDay())
//(7) ['2023-11-09', '2023-11-10', '2023-11-11', '2023-11-12', '2023-11-13', '2023-11-14', '2023-11-15']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值