Javascript 获取两个日期之间的日期数组,按dayofweek筛选
我的目标如下:Javascript 获取两个日期之间的日期数组,按dayofweek筛选,javascript,angularjs,momentjs,Javascript,Angularjs,Momentjs,我的目标如下: { startDate: moment(), endDate: moment().add(3, "weeks"), friday: true monday: true saturday: false sunday: false thursday: false tuesday: false wednesday: true } 获取startDate和endDate之间与工作日布尔值匹配的日期数组的最佳方法是什么 预期结果:[…日期(),日期()
{
startDate: moment(),
endDate: moment().add(3, "weeks"),
friday: true
monday: true
saturday: false
sunday: false
thursday: false
tuesday: false
wednesday: true
}
获取startDate和endDate之间与工作日布尔值匹配的日期数组的最佳方法是什么
预期结果:[…日期(),日期(),日期()…]两个日期之间的矩差返回天数 endDate.diff(开始日期,“天”) 然后forloop从开始到开始+差异,每增加一天
添加(1,'days')您只需使用矩和键从
startDate
循环到endDate
您可以使用获取一周中的某一天
如果需要使用将时刻转换为JavaScript日期
这里是一个工作示例:
函数getDateArray(obj){
var start=obj.startDate.clone();
var end=obj.endDate.clone();
var-res=[];
while(start.isBefore(end)){
var day=start.format('dddd').toLowerCase();
如果(obj[天]){
res.push(start.toDate());
}
开始。添加(1,'d');
}
返回res;
}
var obj={
起始日期:力矩(),
endDate:moment().添加(3,“周”),
星期五:是的,
星期一:没错,
星期六:错,
星期日:错,
星期四:错,
星期二:错,
星期三:对
};
var res=getDateArray(obj);
控制台日志(res)代码>
稍微调整一下,以解决您的问题