获取本周周一和周末日期、上周周一和周末、下周周一和周末

今天碰到一个需求:需要穿周一和周末的时间给后端,然后获取一整周的数据,且可以上周\下周切换
在这里插入图片描述

1.首先,先写一个方法,根据一个日期来取当周的周一及周末

// 	传任意时间,得出该周的周一和周日
    getWeekTime (time) {
    
    
      var now = time ? new Date(time) : new Date() //如果没传日期进来,就默认今天
      var nowTime = now.getTime()
      var day = now.getDay() || 7 //为周日的时候 day 修改为7  否则当天周天会有问题
      var oneDayTime = 24 * 60 * 60 * 1000
      var MondayTime = nowTime - (day - 1) * oneDayTime //显示周一
      var SundayTime = nowTime + (7 - day) * oneDayTime //显示周日
      console.log(this.formateTimestamp(MondayTime)) //打印例如:2023-01-30
      console.log(this.formateTimestamp(SundayTime)) //打印例如:2023-02-05
      this.MondayTime = this.formateTimestamp(MondayTime)
      this.SundayTime = this.formateTimestamp(SundayTime)
      //得到 传进来那天所在周的周一和周日
    },

2.然后,就是处理点击上/下周的时候的时间

// 点击上一周 先拿当前周的周一 取昨天(也就是上周的周末) 再得到上周一和周末
    prevWeek () {
    
    
      var lastSunday = new Date(this.MondayTime)
      lastSunday.setTime(lastSunday.getTime() - 24 * 60 * 60 * 1000) //昨天的时间
      var e = lastSunday.getFullYear()+'-'+(lastSunday.getMonth()+1)+'-'+lastSunday.getDate()
      this.getWeekTime(e) //传上周日的时间进去  得到上周一和上周末的日期
    },
// 点击下一周  先拿当前周的周末 取明天(也就是下周的周一 ) 再得到下周一和周末 
    nextWeek () {
    
    
      //明天的时间
      var nextMonday = new Date(this.SundayTime)
      nextMonday.setTime(nextMonday.getTime() + 24 * 60 * 60 * 1000) //明天的时间
      var e = lastSunday.getFullYear()+'-'+(lastSunday.getMonth()+1)+'-'+lastSunday.getDate()
      this.getWeekTime(e) //传下周一的时间进去  得到下周一和下周末的日期
    },

猜你喜欢

转载自blog.csdn.net/TKP666/article/details/128806600