enumerateDaysBetweenDates(startDate, endDate) {
let daysList = [];
daysList.push(
moment(startDate).format("MM-DD dddd"),
moment(endDate).format("MM-DD dddd")
);
// 。。。。
return daysList;
}
enumerateDaysBetweenDates(startDate, endDate) {
let daysList = [];
daysList.push(
moment(startDate).format("MM-DD dddd"),
moment(endDate).format("MM-DD dddd")
);
// 。。。。
return daysList;
}
enumerateDaysBetweenDates=function(startDate, endDate) { // 假定你已经保证了startDate 小于endDate,且二者不相等
let daysList = [];
let SDate=moment(startDate);
let EDate=moment(endDate);
let xt;
daysList.push(SDate.format("MM-DD dddd"));
while( SDate.add(1,"days").isBefore( EDate) ){ // 注意这里add方法处理后SDate对象已经改变。
daysList.push( SDate.format("MM-DD dddd") );
}
daysList.push( EDate.format("MM-DD dddd") );
return daysList;
}
console.log( enumerateDaysBetweenDates('2021-06-09','2021-06-12'))
console.log( enumerateDaysBetweenDates('2021-06-09 23:00','2021-06-12 01:00'))
console.log( enumerateDaysBetweenDates('2021-06-09 13:00','2021-06-12 21:00'))
此外还可以考虑 https://github.com/rotaready/... 中的moment-range 专用插件来处理范围问题。
前面理解错了moment.js 中add方法应用情况,它是会改变原moment对象的!!
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读