当前位置:   article > 正文

获取自然周;一年中总的周数,以及当前日期处于第几周_美丽先生博客

美丽先生博客

在这里插入图片描述

https://dayjs.fenxianglu.cn/ 插件

主要代码:
let year = dayjs().year() // 默认今年
let date = dayjs().format(‘YYYY-MM-DD’) // 默认今天
let week = dayjs(date).week() -1 // 26 // 获取当前日期所处自然周
let weekCount = dayjs(year).isoWeeksInYear() -1 // 53 // 获取年份对应的周总数

 .leftBox
   el-button-group
     el-button(size="mini" @click="handleDateChange('previous')") 上一周
     el-button(size="mini" @click="handleDateChange('currentDate')") 今天
     el-button(size="mini" @click="handleDateChange('next')") 下一周
  • 1
  • 2
  • 3
  • 4
  • 5
  data() {
    return {
      currentYear: null,
      currentWeek: null,
      maxWeeks: null,
      },
    }
  },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  methods: {
    // 事件: 上一周、今天、下一周 
    handleWeekChange(type) {
      if(type == 'currentDate') {
        // 本月或本周
        if(this.dateRangeType == '周') this.getWeekInit('init')
        return
      }
      if(type == 'previous') { // 点击上一周
        if(this.currentWeek === 1) {
          // 已经是第1周,年份-1
          this.currentYear--
          this.getWeekInit('reduce')
        }else {
          // 不是第1周,周数-1
          this.currentWeek--
          this.getWeekData()
        }
      }else {
        // 点击下一周
        if(this.currentWeek === this.maxWeeks) {
          // 已经是最后1周,年份+1
          this.currentYear++
          this.getWeekInit('increase')
        }else{
          // 不是最后1周,周数+1
          this.currentWeek++
          this.getWeekData()
        }
      }
    },
    
  	// 初始化日期数据
    getWeekInit(type) { // init:初始化; increase: 年份加; reduce: 年份减
      // 下方代码中周总数和日期所处自然周都需要减1
      // 获取当前年份所处周总数-插件
      var isoWeeksInYear = require('dayjs/plugin/isoWeeksInYear')
      var isLeapYear = require('dayjs/plugin/isLeapYear') // dependent on isLeapYear plugin
      dayjs.extend(isoWeeksInYear)
      dayjs.extend(isLeapYear)
      // 获取当前日期所处自然周-插件
      var weekOfYear = require('dayjs/plugin/weekOfYear')
      dayjs.extend(weekOfYear)

      // 计算
      if(type == 'init') { // 初始化
        this.currentYear = dayjs().year() // 默认今年
        let date = dayjs().format('YYYY-MM-DD') // 默认今天
        this.currentWeek = dayjs(date).week() -1 // 26 // 获取当前日期所处自然周
      }else {
        // 根据年份计算
        this.currentWeek = type == 'increase' ? '1' : this.maxWeeks // 下一年,周数为1。上一年周数为maxWeeks
      }
      this.maxWeeks = dayjs(this.currentYear).isoWeeksInYear() -1 // 53 // 获取年份对应的周总数
      this.getWeekData()
    },
    
    //
    getWeekData() {},
  },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/601842
推荐阅读
相关标签
  

闽ICP备14008679号