得到两个日期之间的日期,按星期几
问题描述:
滤波阵列我有一个对象如下:得到两个日期之间的日期,按星期几
{
startDate: moment(),
endDate: moment().add(3, "weeks"),
friday: true
monday: true
saturday: false
sunday: false
thursday: false
tuesday: false
wednesday: true
}
什么是获得起始日期和结束日期匹配平日布尔那之间的日期数组的最佳方式?
预期的结果:[...日期(),日期(),日期()...]
两个日期 endDate.diff(的startDate之间的天
答
你根本就循环从startDate
到endDate
使用时刻add
和isBefore
。
您可以使用format('dddd')
获得星期几。
如果需要使用toDate()
到时候转换为JavaScript日期
这里工作示例:
function getDateArray(obj){
var start = obj.startDate.clone();
var end = obj.endDate.clone();
var res = [];
while(start.isBefore(end)){
var day = start.format('dddd').toLowerCase();
if(obj[day]){
res.push(start.toDate());
}
start.add(1, 'd');
}
return res;
}
var obj = {
startDate: moment(),
endDate: moment().add(3, "weeks"),
friday: true,
monday: true,
saturday: false,
sunday: false,
thursday: false,
tuesday: false,
wednesday: true
};
var res = getDateArray(obj);
console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
答
时刻的差异回报号, '天' )
然后从开始到启动+差异for循环和每个 添加一天每一天的时刻()。添加(1,“天”)
扭捏这一点来解决问题的http://计算器。 COM /问题/ 41194368 /如何到获取,全周日,周一,周二,-日期间两 –