需求:给出开始时间的年月以及结束时间的年月,获取开始时间以及结束时间之间的年月
例如:开始时间为: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,下载地址
打印的结果如下