JS获取两个日期中所有的月份

需求:给出开始时间的年月以及结束时间的年月,获取开始时间以及结束时间之间的年月
例如:开始时间为:2019-03 结束时间:2020-02;
获取这中间的所有月份
JS代码如下:

 function getMonthBetween(start, end) {//传入的格式YYYY-MM
            var result = [];
            var s = start.split("-");
            var e = end.split("-");
            var min = new Date();
            var max = new Date();
            var yearMonthCode;
            var yearMonth;
            min.setFullYear(s[0], s[1] * 1 - 1, 1);//开始日期
            max.setFullYear(e[0], e[1] * 1 - 1, 1);//结束日期
            var curr = min;
            while (curr <= max) {
                yearMonthCode = moment(curr).format('YYYY-MM')
                var month = curr.getMonth();
                var year = curr.getFullYear();

                var str = curr.getFullYear() + "-" + (month);
                var s = curr.getFullYear() + "-0";
                if (str == s) {
                    str = curr.getFullYear() + "-1";
                }
                var m = month + 1
                result.push({
                    yearMonthCode: yearMonthCode,
                    yearMonth: year + '年' + m + '月'
                });
                curr.setMonth(month + 1);
            }
            return result;
        }
        console.log(getMonthBetween('2019-03', '2020-02');)

需要引入moment.min.js,下载地址

打印的结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值