私は開始日と日数があるので、従業員が休暇を求めるときは20日と言われる問題に取り組んでいるので、その日にその日を追加しますこの人が仕事を再開する日を得るために週末と祝日を含む。ここではこれまで私が働いてきたことがあります。しかし、本当の最後の日付を取得するために失敗しています、従業員休暇日の計算はJavaScriptで
//関数は、以下の機能が私の主な機能になりました
function compare(dt1, dt2){
var equal = false;
if(dt1.getDate() == dt2.getDate() && dt1.getMonth() == dt2.getMonth() && dt1.getFullYear() == dt2.getFullYear()) {
equal = true;
}
return equal;
}
休日の比較手順に役立ちます休日
function isHoliday(dt, arr){
var bln = false;
for (var i = 0; i < arr.length; i++) {
if (compare(dt, arr[i])) { //If days are not holidays
bln = true;
break;
}
}
return bln;
}
//を選別します私は休日と週末を並べ替えて使用して、開始日に日を追加しようとするので、終了日をアーカイブすることができます。私はこのコードのどこかで間違っていて、今スタックしていると思います。
function returnfinaldate()
{
var holiday = [];
var cy = new Date().getFullYear();
holiday[0] = new Date(cy, 1, 01);
holiday[1] = new Date(cy, 1, 26);
holiday[2] = new Date(cy, 2, 16);
holiday[3] = new Date(cy, 3, 08);
holiday[4] = new Date(cy, 3, 20);
holiday[5] = new Date(cy, 4, 14);
holiday[6] = new Date(cy, 4, 16);
holiday[7] = new Date(cy, 4, 17);
holiday[8] = new Date(cy, 5, 01);
holiday[9] = new Date(cy, 5, 14);
holiday[10] = new Date(cy, 6, 03);
holiday[11] = new Date(cy, 6, 09);
holiday[12] = new Date(cy, 6, 21);
holiday[13] = new Date(cy, 6, 21);
holiday[14] = new Date(cy, 6, 26);
holiday[15] = new Date(cy, 9, 02);
holiday[16] = new Date(cy, 9, 22);
holiday[17] = new Date(cy, 10, 09);
holiday[18] = new Date(cy, 12, 21);
holiday[19] = new Date(cy, 12, 25);
holiday[20] = new Date(cy, 12, 26);
var startDate = new Date();
var endDate = new Date();
startDate='8/1/2017';
noOfDaysToAdd = 7, count = 0;
while (count < noOfDaysToAdd) {
endDate.setDate(endDate.getDate()+1)
// Date.getDay() gives weekday starting from 0(Sunday) to
// 6(Saturday)
if (endDate.getDay() != 0 && endDate.getDay() != 6 && !isHoliday(endDate, holiday)) {
count++;
}
}
return endDate;
}
最後の日付が間違っています。ここで何か助けが必要です。あなたのロジックは罰金だ。ここ
あなた 'endDate'は、現在の日付ではない' startDate' – charlietfl