2021-09-13

// 获取当周七天日期
    getThisWeek() {
      let date = []
      // 计算今天是这周第几天 周日为一周中的第一天
      let weekOfday = moment().format('E')
      console.log(weekOfday)
      // 本周周一日期
      let start = moment().subtract(weekOfday-1, 'days').format('YYYYMMDD')
      // 本周周日日期
      let end = moment().add(7 - weekOfday, 'days').format('YYYYMMDD')
      // 获取本周七天日期
      for(let day=start; day<=end; day++){
        date.push(moment(String(day)).format('YYYY-MM-DD'))
      }
      // for(let i=1; i<=date.length; i++ ){
      //   date[i] = '周'+ i + ':' + date[i-1]
      // }
      console.log(date)
      this.weekDate = date
    },

    // 获取上一周七天日期
    getLastWeek() {
      // 4 6 9 10月 30天
      // 94 95 96 97 98 99 00
      // 24 25 26 27 28 29 30
      // 1 3 5 7 8 10 12月 31天
      // 94 95 96 97 98 99 00
      // 25 26 27 28 29 30 31
      // 3月->2月 平年 28
      // 94 95 96 97 98 99 00
      // 22 23 24 25 26 27 28
      // 3月->2月 闰年 29
      // 94 95 96 97 98 99 00
      // 23 24 25 26 27 28 29
      // 对以上情况进行判断 substr(6,2)-日 substr(4,2)-月
      let date = this.weekDate.forEach((item) => {
        // 获取月份 mouth 获取日期 day
        let mouth = String(moment(item).format('YYYYMMDD')-7).substr(4,2)
        let day = String(moment(item).format('YYYYMMDD')-7).substr(6,2)
        // 获取年份 year
        let year = String(moment(item).format('YYYYMMDD')-7).substr(0,4)
        if(mouth=='01' || mouth=='03' || mouth=='05' || mouth=='07' || mouth=='08' || mouth=='10' || mouth=='12' ) {
          // 31天
          switch(day) {
            case '00': day = '31' ;break;
            case '99': day = '30' ;break;
            case '98': day = '29' ;break;
            case '97': day = '28' ;break;
            case '96': day = '27' ;break;
            case '95': day = '26' ;break;
            case '94': day = '25' ;break;
          }
        }else if(mouth=='04' || mouth=='06' || mouth=='09' || mouth=='11') {
          // 30天
          switch(day) {
            case '00': day = '30' ;break;
            case '99': day = '29' ;break;
            case '98': day = '28' ;break;
            case '97': day = '27' ;break;
            case '96': day = '26' ;break;
            case '95': day = '25' ;break;
            case '94': day = '24' ;break;
          }
        }else if (mouth=='02') {
          // 闰年
          if(year%4 == 0){
            switch(day) {
            case '00': day = '29' ;break;
            case '99': day = '28' ;break;
            case '98': day = '27' ;break;
            case '97': day = '26' ;break;
            case '96': day = '25' ;break;
            case '95': day = '24' ;break;
            case '94': day = '23' ;break;
          }
          }else {
            // 平年
            switch(day) {
            case '00': day = '38' ;break;
            case '99': day = '27' ;break;
            case '98': day = '26' ;break;
            case '97': day = '25' ;break;
            case '96': day = '24' ;break;
            case '95': day = '23' ;break;
            case '94': day = '22' ;break;
          }
          }
        }
        item = year+mouth+day
      })
      console.log(date)
      date = date.map((item) => {
        return  moment(String(item - 7)).format('YYYY-MM-DD')
      })
      console.log(date)
      this.weekDate = date
    },

    // 获取下一周七天日期
    getNextWeek() {
      // 4 6 9 10月 30天
      // 31 32 33 34 35 36 37
      // 1  2  3  4  5  6  7
      // 1 3 5 7 8 10 12月 31天
      // 32 33 34 35 36 37 38
      // 1  2  3  4  5  6  7
      // 3月->2月 平年 28
      // 29 30 31 32 33 34 35
      // 1  2  3  4  5  6  7
      // 3月->2月 闰年 29
      // 30 31 32 33 34 35 36
      // 1  2  3  4  5  6  7
      // 对以上情况进行判断 substr(6,2)-日 substr(4,2)-月
      let date = this.weekDate.forEach((item) => {
        // 获取月份 mouth 获取日期 day
        let mouth = String(moment(item).format('YYYYMMDD')+7).substr(4,2)
        let day = String(moment(item).format('YYYYMMDD')+7).substr(6,2)
        // 获取年份 year
        let year = String(moment(item).format('YYYYMMDD')+7).substr(0,4)
        if(mouth=='01' || mouth=='03' || mouth=='05' || mouth=='07' || mouth=='08' || mouth=='10' || mouth=='12' ) {
          // 31天
          switch(day) {
            case '32': day = '01' ;break;
            case '33': day = '02' ;break;
            case '34': day = '03' ;break;
            case '35': day = '04' ;break;
            case '36': day = '05' ;break;
            case '37': day = '06' ;break;
            case '38': day = '07' ;break;
          }
        }else if(mouth=='04' || mouth=='06' || mouth=='09' || mouth=='11') {
          // 30天
          switch(day) {
            case '31': day = '01' ;break;
            case '32': day = '02' ;break;
            case '33': day = '03' ;break;
            case '34': day = '04' ;break;
            case '35': day = '05' ;break;
            case '36': day = '06' ;break;
            case '37': day = '07' ;break;
          }
        }else if (mouth=='02') {
          // 闰年
          if(year%4 == 0){
            switch(day) {
            case '30': day = '01' ;break;
            case '31': day = '02' ;break;
            case '32': day = '03' ;break;
            case '33': day = '04' ;break;
            case '34': day = '05' ;break;
            case '35': day = '06' ;break;
            case '36': day = '07' ;break;
          }
          }else {
            // 平年
            switch(day) {
            case '29': day = '01' ;break;
            case '30': day = '02' ;break;
            case '31': day = '03' ;break;
            case '32': day = '04' ;break;
            case '33': day = '05' ;break;
            case '34': day = '06' ;break;
            case '35': day = '07' ;break;
          }
          }
        }
        item = year+mouth+day
      })
      console.log(date)
      date = date.map((item) => {
        return  moment(String(item - 7)).format('YYYY-MM-DD')
      })
      console.log(date)
      this.weekDate = date
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 放假回到了家,休息几天。 前几天锻炼确实很累,很辛苦。第二天醒来后,感觉身体反而更加虚弱。看来锻炼过多还是不行的。...
    独行者103阅读 451评论 0 0
  • 今天心态比较稳定,心情愉悦。虽然连续熬夜了两天,但周一上班心身没有以往的疲惫感,临睡前看了一篇《不抱怨的世界》,觉...
    紫色年华阅读 1,774评论 1 2
  • 我今天完成了哪些内容? 早【06:40--07:20】 丨学习40分钟 看企业所得税视频(凌紫琪老师的习题班29)...
    樱子姑娘阅读 1,085评论 0 2
  • 起床:7:15 醒来 发呆,看微信读书,就是不想起床。。 就寝:11:00+ 开了翻墙,逛了一圈behance 临...
    觅秘的成长日记阅读 1,358评论 1 1
  • 有感而发~
    云颠阅读 818评论 0 1