はじめに
この実験では、与えられた営業日数を加えた後の日付を計算するのに役立つ JavaScript 関数を探ります。この関数は、配列操作と日付の反復処理を使って、開始日付を週末を考慮しながらインクリメントします。この実験は、JavaScript で日付を操作し、日付計算にビジネスロジックを適用する方法を理解するのに役立ちます。
与えられた日付に営業日を追加する関数
与えられた営業日数を追加して将来の日付を計算するには、addWeekDays関数を使用できます。手順は以下の通りです。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 startDateとcountの 2 つの引数を持つaddWeekDays関数を使用します。startDateは、営業日を追加し始める日付です。countは、開始日付に追加する営業日数です。- 関数は
Array.from()メソッドを使用して配列を構築し、追加する営業日数のcountに等しい長さを設定します。 Array.prototype.reduce()メソッドを使用して、配列をstartDateから反復処理し、Date.prototype.getDate()とDate.prototype.setDate()を使用してインクリメントします。- 関数は、現在の
dateが週末であるかどうかを確認します。 - 現在の
dateが週末である場合、関数はそれを平日にするために 1 日または 2 日を追加して再度更新します。 - 関数は祝日を考慮していません。
const addWeekDays = (startDate, count) =>
Array.from({ length: count }).reduce((date) => {
date = new Date(date.setDate(date.getDate() + 1));
if (date.getDay() % 6 === 0)
date = new Date(date.setDate(date.getDate() + (date.getDay() / 6 + 1)));
return date;
}, startDate);
addWeekDays関数を使用する方法のいくつかの例を以下に示します。
addWeekDays(new Date("Oct 09, 2020"), 5); // 'Oct 16, 2020'
addWeekDays(new Date("Oct 12, 2020"), 5); // 'Oct 19, 2020'
まとめ
おめでとうございます!日付に営業日を追加する実験を完了しました。スキルを向上させるために、LabEx でさらに実験を行って練習できます。