js实现获取两个日期之间所有月份
根据所选择的开始日期与结束日期获取之间的月份
在使用过程中你可能需要获取两个时间的月份
组件moment地址
代码如下
getMonthBetween (start, end) {//传入的格式YYYY-MM
var result = [];
var s = start.split("-");
var e = end.split("-");
var min = new Date();
var max = new Date();
min.setFullYear(s[0], s[1] * 1 - 1, 1);//开始日期
console.log(moment(min).format('YYYY-MM-DD'));
max.setFullYear(e[0], e[1] * 1 - 1, 1);//结束日期
console.log(moment(max).format('YYYY-MM-DD'));
var curr = min;
while (curr <= max) {
console.log(moment(curr).format('YYYY-MM-DD'));
var month = curr.getMonth();
console.log(month + 1);
//var str = curr.getFullYear() + "-" + (month);
//var s = curr.getFullYear() + "-0";
//if (str == s) {
//str = curr.getFullYear() + "-1";
// }
result.push(month + 1);
curr.setMonth(month + 1);
}
return result;
}
注意
-获得的月份比实际的月份少一个月,js中的月份是(0-11)表示(1-12)月