我的日期范围看起来像这样
let start = moment(this.absence.FromDate);
let end = moment(this.absence.ToDate);
用户可以决定停用该日期范围内的特定工作日,因此我有布尔值
monday = true;
tuesday = false;
...
我想创建一个函数,允许我将日期范围内的所有星期一放在数组中。
我已经在堆栈上四处寻找,但我只能为那些需要一个月的所有星期一的人找到帮助。
答案 0 :(得分:9)
您可以使用.day(1)
转到下周一,然后使用isBefore
end
日期为//let start = moment(this.absence.FromDate);
//let end = moment(this.absence.ToDate);
// Test values
let start = moment();
let end = moment().add(45 , 'd');
var arr = [];
// Get "next" monday
let tmp = start.clone().day(1);
if( tmp.isAfter(start, 'd') ){
arr.push(tmp.format('YYYY-MM-DD'));
}
while( tmp.isBefore(end) ){
tmp.add(7, 'days');
arr.push(tmp.format('YYYY-MM-DD'));
}
console.log(arr);
日期,为每次迭代添加7天
这是一个实时样本:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
{{1}}&#13;