动态获取近三年的所有月份,作为下拉框选项

 

initDateData() {
      const dateData = [];
      const date1 = new Date();//当前日期
      for (let i = 0; i < 36; i++) {//由于是3年 有36个月
        let cur = '';
        let tempYear = date1.getFullYear();//当前年份
        let tempMonth = date1.getMonth() - i + 1;//当前月份

     //最重要的代码
        if (tempMonth <= 0) {//tempMonth从0开始就是去年,前年,上前年……
      // 由于取的是Math.floor,所以要 -1,这里需要说明一下用Math.floor不用Math.ceil的原因是tempMonth为0时,是去年,因此需要-1。
       //如果是Math.ceil(0/-12)还是0,但使用了Math.ceil后就不能-1,就会有问题。
      tempYear = date1.getFullYear() - Math.floor(tempMonth / -12) - 1; 

      //tempMonth=0,12月,tempMonth=-1,11月,刚好是 tempMonth + n*12,1代表前n年,所以他是动态变化的。
      tempMonth += (Math.floor(tempMonth / -12) + 1) * 12;
        }
     //1-9月补0
        if (tempMonth < 10) {
          cur = `${tempYear}-0${tempMonth}`;
        } else {
          cur = `${tempYear}-${tempMonth}`;
        }
        dateData.push(cur);
      }
      return dateData;
    }

  

这个方法是在vue里面写的,如果是其他js自行修改,逻辑不变

如果文章对你有帮助,麻烦帮忙点个赞哦!嘿嘿!做一个靠谱的技术博主!

转载于:https://www.cnblogs.com/CatcherLJ/p/11207553.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值