实现指定日期到七天后对应的日期

374 阅读1分钟

@ timeStr传入的指定日期 'xxxx-xx-xx'或者'xx-xx'

getTime(timeStr){
    let odate = new Date(timeStr)
    let month = odate.getMonth() + 1 //月
    let day = odate.getDate() // 日
    let weekMonth = month   
    let weekDay = day + 7
    console.log(`开始----${month}月${day}日------`)    
    console.log(`结束----${weekMonth}月${weekDay}日------`)  
    var DateNumber = function(){
        weekMonth = month + 1
        switch (weekDay) {
            case 1:
            weekDay = 1
            break;
            
            case 2:
            weekDay = 2
            break;

            case 3:
            weekDay = 3
            break;

            case 4:
            weekDay = 4
            break;

            case 5:
            weekDay = 5
            break;

            case 6:
            weekDay = 6
            break;

            case 7:
            weekDay = 7
            break;              
        }
    }  

    // 31号的大月份
    let pigMonth = [1,3,5,7,8,10,12]
    for(let i = 0; i < pigMonth.length ; i++){
        if(month == pigMonth[i] && weekDay > 31){
            weekDay = weekDay - 31
            DateNumber()
        } 
    }
    // 30号的小月份
    let smallMonth = [4,6,9,11]
    for(let i = 0; i < smallMonth.length ; i++){
        if(month == smallMonth[i] && weekDay > 30){
            weekDay = weekDay - 30
            DateNumber()
        } 
    }
    // 2月
    if(month == 2 && weekDay > 28){
        weekDay = weekDay - 28
        DateNumber()
    }
    if(weekMonth > 12){
        weekMonth = 1
    }  
    

    console.log(`${month}月${day}日---${weekMonth}月${weekDay}日---`)
},

方式二

      let getNowWeek = (date) => {
      let nowDate = date ? new Date(date) : new Date();
      let nowTime = nowDate.getTime(); //1987年时间
      let nowDay = nowDate.getDay();  //周几

      let oneDay = 60 * 60 * 24 * 1000; // 一天的时间
      //@startDate 1970-至今的毫秒值 --
      //目的是得到周一和周六,用距离今天的毫秒值减去今天前一天的毫秒值就是周一的时间
      let startDate = nowTime - (oneDay * (nowDay - 1));
      let endDate = nowTime + (oneDay * (7 - nowDay));
      console.log(new Date(startDate) + ' - ' + new Date(endDate)) 
    }
    getNowWeek()