MYYA
// 转换为时间戳var startTime = new Date("2017-11").getTime();var endTime = new Date("2018-03").getTime();// 存放结果var arr = []// 最后的格式转换var format = function(time) { var date = new Date(time) return date.getFullYear() + '-' + (date.getMonth() + 1)}// 判断是否为闰年var isLeapYear = function(year) { return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0) }// 月份映射 假设不为闰年var MONTH = { '1': 31, '2': 28, '3': 31, '4': 30, '5': 31, '6': 30, '7': 31, '8': 31, '9': 30, '10': 31, '11': 30, '12': 31}arr.push("2017-11")while (startTime < endTime) { // 转换时间格式 var start = new Date(startTime) // 判断是否为闰年的2月份 if (isLeapYear(start.getFullYear()) && (start.getMonth() + 1 === 2)) { startTime = startTime + 29 * 24 * 60 * 60 * 1000 } else { // 其他情况 startTime = startTime + MONTH[start.getMonth() + 1] * 24 * 60 * 60 * 1000 } arr.push(format(startTime))}arr.push("2018-03")console.log(arr)