js,计算时间段内所有年月

工作中遇到这么一个问题,计算时间段内的所有年月。后来想了下,组件中有时间选择器组件,觉得有必要整理一下,所有就有了下面的代码

 function getMonthBetween(start, end) {

        //初始化数组

        var result = [];

        //切割起始年月

        var s = start.split("-");

        //切割结束年月

        var e = end.split("-");

        //获取时间对象

        var min = new Date();

        var max = new Date();

        //设置起始时间

        min.setFullYear(s[0], s[1]);

        //设置结束时间

        max.setFullYear(e[0], e[1]);

 

        //复制一份起始时间对象

        var curr = min;

        //定义字符串

        var str = "";

        //起始时间在结束时间之前

        while (curr <= max) {

            //获取此时间的月份

            var month = curr.getMonth();

            //如果月份为0,也就是代表12月份

            if (month === 0) {

                str = (curr.getFullYear() - 1) + "-" + 12;

            } else { //正常月份

                str = curr.getFullYear() + "-" + (month < 10 ? ("0" + month) : month);

            }

            //将此年月加入数组

            result.push(str);

            //更新此时间月份

            curr.setMonth(month + 1);

        }

        return result;

    }

    console.log(getMonthBetween('2020-02', '2021-02'))

截图附上

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值