如何拿到当月的天数?

        呐...为什么要封装这个方法呢?因为我现在在做的这个需求要求在echarts图下面加一个时间切换,有三种情况,如果选择年度,echarts图下面就显示1-12月,年度就显示1-4季度,月度就显示1-31天,所以就封装了这样一个方法来获取当月的天数。嘿嘿,弄出来的时候可开心啦!!!

getDays = date => {

        date = moment(date).format('YYYY-MM')  // 处理日期

        let arr = ['01', '03', '05', '07', '08', '10', '12']  // 含有31天的月份

        let data = []

        let year = date?.split('-')[0]  // 分割年

        let mon = date?.split('-')[1]  // 分割月

        let day = arr.some(v => v === mon) ? 31 : (mon === '02' ? ((year / 400 === 0 || (year / 4 === 0 && year / 100 !== 0)) ? 29 : 28) : 30)

        for (let i = day; i >= 0; i -= 1) {  // 从31天开始减减减

            data .push({ name: `${(day - i)}号`, key: `${day - i}` })

        }

        data = data .filter(v => v.key !== '0')  // 把0踢出去!!

        return data   // 这就是我想要的数组啦!!

    }


// 然后在需要获取这个天数的地方拿一下就OK啦

 let daysData = this.getDays(new Date())


     数组长这样的(截取了一小部分): 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值