2022-08-25 【前端】自己写的根据日期计算出连续的年月的方法

在工作中经常遇到统计图的需求,比如柱状图,饼图,折线图等等,经常需要统计连续一段时间内的图表,但后端由于各种原因返的数据并不全,比如哪个月份没有数据,所有反的结果就没有这个月份的,所以统计图可能缺失某些月份,第一是看着像一个bug,第二是对于有强迫症来说并不完美,那这个前端应该怎么解决呢,所以我就硬着头皮写了一个处理这种情况的方法,保守点花了一两个小时。。下面分享下这个根据一个日期字符串计算出连续12个月的年月日期字符串数组:

get_moths(start) {//vue

      let arr = [] //结果数组

      // 当前年月

      let str = start

      // 先放一个

      arr.push(str)

      // 获取当前年份

      let current_year = parseInt(str.substr(0, 4))

      for (let i = 0; i < 12; i++) {

        // 下一月份

        let next = parseInt(str.substr(5, 2)) + 1

        if (next > 12) {

          current_year++

          str = `${current_year}-01`

        } else {

          if (next < 10) {

            next = '0' + next

          }

          str = `${current_year}-${next}`

        }

        arr.push(str)

      }

      return arr

    }

使用实例:

get_moths('2022-08')

测试结果如图:

这个方法的算法和原理是比较明确的,大家可以根据实际情况自行修改。

友情分享:WX搜索:妖股投票器

你可能感兴趣的:(2022-08-25 【前端】自己写的根据日期计算出连续的年月的方法)