Kalenderwoche des Jahres

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 untersuchen, wie man mit JavaScript die nullbasierten Kalenderwoche des Jahres berechnet, der einem bestimmten Datum entspricht. Wir werden den Date-Konstruktor und mehrere Methoden von Date.prototype verwenden, um den ersten Montag des Jahres zu ermitteln und die Anzahl der Wochen zwischen dem ersten Montag und dem angegebenen Datum zu berechnen. Dieses Lab soll Ihr Verständnis der Datumsmanipulation und -berechnung in JavaScript verbessern.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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") subgraph Lab Skills javascript/variables -.-> lab-28694{{"Kalenderwoche des Jahres"}} javascript/data_types -.-> lab-28694{{"Kalenderwoche des Jahres"}} javascript/arith_ops -.-> lab-28694{{"Kalenderwoche des Jahres"}} javascript/comp_ops -.-> lab-28694{{"Kalenderwoche des Jahres"}} end

Ermitteln der Kalenderwoche aus einem Datum in JavaScript

Um die nullbasierte Kalenderwoche des Jahres zu ermitteln, die einem bestimmten Datum in JavaScript entspricht, befolgen Sie diese Schritte:

  1. Erstellen Sie eine weekOfYear-Funktion, die einen date-Parameter akzeptiert.
  2. Verwenden Sie den Date-Konstruktor und Date.prototype.getFullYear(), um den ersten Tag des Jahres als Date-Objekt zu erhalten.
  3. Verwenden Sie Date.prototype.setDate(), Date.prototype.getDate() und Date.prototype.getDay() zusammen mit dem Modulo-Operator (%), um den ersten Montag des Jahres zu ermitteln.
  4. Subtrahieren Sie den ersten Montag des Jahres vom angegebenen date und teilen Sie das Ergebnis durch die Anzahl der Millisekunden in einer Woche.
  5. Verwenden Sie Math.round(), um die nullbasierte Kalenderwoche des Jahres zu erhalten, die dem angegebenen date entspricht.
  6. Wenn das angegebene date vor dem ersten Montag des Jahres liegt, wird -0 zurückgegeben.

Hier ist der Code:

const weekOfYear = (date) => {
  const startOfYear = new Date(date.getFullYear(), 0, 1);
  startOfYear.setDate(startOfYear.getDate() + (startOfYear.getDay() % 7));
  return Math.round((date - startOfYear) / (7 * 24 * 3600 * 1000));
};

Um die weekOfYear-Funktion zu verwenden, rufen Sie sie einfach mit einem Date-Objekt als Parameter auf:

weekOfYear(new Date("2021-06-18")); // 23

Dies wird die nullbasierte Kalenderwoche des Jahres zurückgeben, die dem angegebenen Datum entspricht, in diesem Fall 23.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zur Kalenderwoche des Jahres abgeschlossen. Sie können in LabEx weitere Labs üben, um Ihre Fähigkeiten zu verbessern.