日付に営業日を追加する

JavaScriptJavaScriptBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、与えられた営業日数を加えた後の日付を計算するのに役立つJavaScript関数を探ります。この関数は、配列操作と日付の反復処理を使って、開始日付を週末を考慮しながらインクリメントします。この実験は、JavaScriptで日付を操作し、日付計算にビジネスロジックを適用する方法を理解するのに役立ちます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28129{{"日付に営業日を追加する"}} javascript/data_types -.-> lab-28129{{"日付に営業日を追加する"}} javascript/arith_ops -.-> lab-28129{{"日付に営業日を追加する"}} javascript/comp_ops -.-> lab-28129{{"日付に営業日を追加する"}} javascript/cond_stmts -.-> lab-28129{{"日付に営業日を追加する"}} javascript/higher_funcs -.-> lab-28129{{"日付に営業日を追加する"}} javascript/destr_assign -.-> lab-28129{{"日付に営業日を追加する"}} end

与えられた日付に営業日を追加する関数

与えられた営業日数を追加して将来の日付を計算するには、addWeekDays関数を使用できます。手順は以下の通りです。

  1. ターミナル/SSHを開き、コーディングを練習するためにnodeと入力します。
  2. startDatecountの2つの引数を持つaddWeekDays関数を使用します。
  3. startDateは、営業日を追加し始める日付です。
  4. countは、開始日付に追加する営業日数です。
  5. 関数はArray.from()メソッドを使用して配列を構築し、追加する営業日数のcountに等しい長さを設定します。
  6. Array.prototype.reduce()メソッドを使用して、配列をstartDateから反復処理し、Date.prototype.getDate()Date.prototype.setDate()を使用してインクリメントします。
  7. 関数は、現在のdateが週末であるかどうかを確認します。
  8. 現在のdateが週末である場合、関数はそれを平日にするために1日または2日を追加して再度更新します。
  9. 関数は祝日を考慮していません。
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でさらに実験を行って練習できます。