如果我有一个日期数组:
var days=[2,5] (corresponds to Tuesday and Friday)
如何找出数组中有多少天属于客户端事件,如以下一个:
var holiday= {title: holiday,
start: 2015-10-20,
end: 2015-10-30}
我不需要知道每天有多少个事件发生,只需要知道总数。因此,在本例中,脚本将返回'4'(事件中的2个星期二和2个星期五)。
非常感谢你的帮助!您可以遍历日期并查看当前星期几的arr.indexOf
是否为>= 0
,查看:
var arr = [2, 5];
var holiday = {
title: holiday,
start: '2015-10-20',
end: '2015-10-30'
}
var st = new Date(holiday.start),
en = new Date(holiday.end);
var cont = 0;
while (st <= en) {
if (arr.indexOf(st.getUTCDay()) >= 0) {
cont++;
}
st.setDate(st.getDate() + 1);
}
console.log(cont);
注意:由于时区的差异,必须使用getUTCDay()
而不是getDay()