Zähle die Werktage zwischen zwei Daten

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir ein JavaScript-Programm untersuchen, das die Anzahl der Werktage zwischen zwei angegebenen Daten zählt. Das Programm verwendet ein Array und die reduce-Methode, um über den angegebenen Zeitraum von Daten zu iterieren, um zu überprüfen, ob jedes Datum ein Werktag ist und den Zähler entsprechend zu erhöhen. Es sollte jedoch bemerkt werden, dass dieses Programm keine offiziellen Feiertage berücksichtigt.


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") subgraph Lab Skills javascript/variables -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} javascript/data_types -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} javascript/arith_ops -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} javascript/comp_ops -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} javascript/cond_stmts -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} javascript/higher_funcs -.-> lab-28240{{"Zähle die Werktage zwischen zwei Daten"}} end

Zähle die Werktage zwischen zwei Daten

Um die Werktage zwischen zwei Daten zu zählen, folge diesen Schritten:

  1. Öffne das Terminal/SSH und tippe node, um mit der Code-Praxis zu beginnen.
  2. Verwende Array.from(), um ein Array zu erstellen, dessen Länge der Anzahl der Tage zwischen startDate und endDate entspricht.
  3. Verwende Array.prototype.reduce(), um über das Array zu iterieren, überprüfe, ob jedes Datum ein Werktag ist und erhöhe count.
  4. Aktualisiere startDate mit dem nächsten Tag in jeder Schleife, indem du Date.prototype.getDate() und Date.prototype.setDate() verwendest, um es um einen Tag voranzuschieben.
  5. Beachte, dass diese Funktion keine offiziellen Feiertage berücksichtigt.

Hier ist der Code, um dies umzusetzen:

const countWeekDaysBetween = (startDate, endDate) =>
  Array.from({ length: (endDate - startDate) / (1000 * 3600 * 24) }).reduce(
    (count) => {
      if (startDate.getDay() % 6 !== 0) count++;
      startDate = new Date(startDate.setDate(startDate.getDate() + 1));
      return count;
    },
    0
  );

Du kannst folgenden Code verwenden, um die Funktion zu testen:

countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 06, 2020")); // 1
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 14, 2020")); // 7

Zusammenfassung

Herzlichen Glückwunsch! Du hast das Lab "Zähle die Werktage zwischen zwei Daten" abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.