Holen Sie sich die Wochennummer des Jahres in JavaScript

Subodh Poudel 12 Oktober 2023
  1. Verwenden Sie die Funktionen getFullYear() und getDay() zusammen mit dem Objekt von new Date(), um die Wochennummer des aktuellen Datums zu erhalten
  2. Verwenden Sie die Datenstruktur DateTime und ihre weekNumber-Eigenschaften von Luxon, um die aktuelle Wochennummer des Jahres zu erhalten
Holen Sie sich die Wochennummer des Jahres in JavaScript

Wir stellen eine Methode vor, um die aktuelle Wochennummer des Jahres in JavaScript zu finden, indem wir das Objekt des new Date()-Konstruktors und die Funktionen wie getFullYear() und getDay() erstellen. Diese Methode ermittelt die Gesamtzahl der Tage des Jahres und die Wochennummer. Wir verwenden in dieser Methode die Funktionen des Math-Objekts wie floor() und ceil().

In diesem Artikel wird auch eine weitere Methode zum Abrufen der aktuellen Wochennummer in JavaScript mit einem JavaScript-Wrapper Luxon vorgestellt. Luxon ist eine Bibliothek mit JavaScript-Daten und -Zeiten. Wir verwenden die Datenstruktur DateTime und die Eigenschaft weekNumber aus dieser Bibliothek. Wir werden auch die Funktion now mit der Datenstruktur DataTime verwenden.

Wir werden auch eine Methode demonstrieren, um eine globale Variable in PHP mit der Funktion define() zu deklarieren. Diese Methode ist eine Möglichkeit, eine konstante globale Variable in PHP zu deklarieren. Der Wert der Variablen kann später nicht mehr geändert werden.

Verwenden Sie die Funktionen getFullYear() und getDay() zusammen mit dem Objekt von new Date(), um die Wochennummer des aktuellen Datums zu erhalten

Diese Methode verwendet den Konstruktor new Date() und sein Objekt zusammen mit den Funktionen getFullYear() und getDay(), um die aktuelle Wochennummer des Jahres zu erhalten. Das Objekt Date gibt das aktuelle Datum zurück. Die Funktion getDay() findet den aktuellen Wochentag in einem Integer-Wert. Wir können ein Objekt des Date()-Konstruktors erstellen, um das aktuelle Datum zu erhalten. Das Objekt ruft die Funktion getFullYear() auf, um den Beginn des aktuellen Jahres zu ermitteln. Wir können die Gesamtzahl der Tage vom Beginn des Tages bis zur aktuellen Uhrzeit ermitteln, indem wir die Differenz der Tage durch die gesamten Millisekunden eines Tages dividieren. Mit der Funktion floor() des Objekts Math können wir den Wert auf eine ganze Zahl runden. Diese Methode berechnet schließlich die Wochennummer des Jahres, indem die Gesamtzahl der Tage durch sieben geteilt wird.

Erstellen Sie beispielsweise ein Date-Objekt currentdate. Erstellen Sie eine weitere Variable, oneJan, um den ersten Tag des aktuellen Jahres zu speichern. Erstellen Sie dazu ein neues Date-Objekt auf der Variablen und rufen Sie die Funktion getFullYear() mit dem currentdate-Objekt als ersten Parameter des Date()-Konstruktors auf. Verwenden Sie 0 und 1 als zweiten und dritten Parameter. Subtrahiere die Variable oneJan von currentdate und dividiere sie durch 86400000. Wickeln Sie die Operationen in die Funktion Math.floor() und weisen Sie sie einer Variablen numberOfDays zu. Rufen Sie die Funktion getDay() mit dem currentdate-Objekt auf und fügen Sie die Variable numberOfDays und den Wert 1 hinzu. Umschließen Sie diese Operation mit der Funktion Math.ceil() und speichern Sie das Ergebnis in der Variablen result. Protokollieren Sie die Variable in der Konsole zusammen mit der Variablen currentdate mittels String-Interpolation.

Im folgenden Beispiel wird das aktuelle Datum und dann der erste Tag des aktuellen Jahres ermittelt. Die Parameter 0 und 1 in der zweiten Zeile stehen für den ersten Monat und den ersten Tag des laufenden Jahres. Subtrahiert man oneJan vom currentdate, erhält man den Wert in Millisekunden, also die Summe der Millisekunden an einem Tag, die 86400000 ist, teilt die Differenz. Die Funktion getDay() gibt den Tag in ganzzahliger Form zurück, beginnend mit 0, also fügen wir 1 hinzu. Daher wird die aktuelle Wochennummer berechnet.

Beispielcode:

currentdate = new Date();
var oneJan = new Date(currentdate.getFullYear(), 0, 1);
var numberOfDays = Math.floor((currentdate - oneJan) / (24 * 60 * 60 * 1000));
var result = Math.ceil((currentdate.getDay() + 1 + numberOfDays) / 7);
console.log(
    `The week number of the current date (${currentdate}) is ${result}.`);

Ausgabe:

The week number of the current date (Tue May 25 2021 16:55:53 GMT+0545 (Nepal Time)) is 21.

Verwenden Sie die Datenstruktur DateTime und ihre weekNumber-Eigenschaften von Luxon, um die aktuelle Wochennummer des Jahres zu erhalten

Wir können die Luxon-Bibliothek verwenden, um die aktuelle Wochennummer des Jahres mit der Datenstruktur DateTime und der Eigenschaft weeknumber zu erhalten. Die DateTime besteht aus einem Zeitstempel, einer Zeitzone und Konfigurationseigenschaften. Die mit der Funktion jetzt verwendete DateTime gibt das Datum und die Uhrzeit für den aktuellen Zeitpunkt in der Zeitzone des Systems zurück. Die Eigenschaft weekNumber greift auf die Wochennummer des aktuellen Jahres zu. Mit der Funktion toISO() können wir die DateTime in das ISO-Format konvertieren.

Importieren Sie in der ersten Zeile das Objekt DateTime aus luxon/src/datetime.js. Vergessen Sie nicht, den Luxon-Quellcode herunterzuladen. Speichern Sie den Quellcode in einer JavaScript-Datei und binden Sie die Datei mit dem Tag script im HTML-Bereich ein. Rufen Sie die Funktion now() mit dem Objekt DateTime auf und rufen Sie dann die Eigenschaft weekNumber auf. Weisen Sie es einer Variablen date zu. Loggen Sie dann die Variable date in die Konsole ein. Bitte konsultieren Sie die Luxon-Dokumentation, um mehr über die DateTime-Objekte und -Eigenschaften zu erfahren.

Codebeispiel:

import DateTime from 'luxon/src/datetime.js'
const date = DateTime.now().weekNumber
console.log(`The current week number is ${date}`)

Ausgabe:

The current week number is 21
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - JavaScript DateTime