我需要做3個連續工作日對證在javascript日期數組。我把它與任何3個天工作,但我無法弄清楚了我的生活,我怎麼能做出與週末打破了連續兩天這項工作。連續工作日(沒有周末)
注意 - 這需要時刻()庫(https://momentjs.com)
我的代碼,對於3實際連續幾天的工作原理:
var allDates = ["2017-03-07", "2017-03-09", "2017-03-10", "2017-03-13", "2017-03-15"];
var diff = 86400000;
var consecutive = 0;
allDates.sort(function(a,b){
return new Date(a) - new Date(b);
});
for (i = 2; i < allDates.length; i++) {
var d = moment(allDates[i], "YYYY-MM-DD").format('x');
var d1 = moment(allDates[i-1], "YYYY-MM-DD").format('x');
var d2 = moment(allDates[i-2], "YYYY-MM-DD").format('x');
if (d1 - d2 == diff && d - d2 == diff * 2) {
consecutive = 1;
break;
}
}
正如你可以看到上面的日曆,我希望3月9日,10日和13日連續3個工作日。任何人有任何反饋可以引導我走上正確的道路?
在此先感謝
只是爲了澄清 - 你的陣列有5個日期。如果*陣列中的任何*三個日期都是連續工作日,您是否想要返回true? – Jamiec
是連續3個工作日。 – rubberchicken
公共假期怎麼樣? – Jamiec