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

tech2026-01-14  9

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

打印的结果如下

最新回复(0)