Skip to main content

Week Number Calculator

Find the ISO week number, day of year, days remaining, quarter and more for any date.

Geprüft von · Zuletzt geprüft

W22
ISO Week Number
147
Day of Year
218
Days Remaining
Wednesday
Day of Week
Q2
Quarter
No
Leap Year

So verwendest du den Wochennummer-Rechner

  1. Ein beliebiges Datum wählen im Datumspicker - standardmäßig auf heute eingestellt.
  2. Das Statistikpanel ablesen: ISO-Wochennummer (1-53), Jahrestag (1-366), verbleibende Tage im Jahr, Wochentag, Kalenderquartal (Q1-Q4) und ob das Jahr ein Schaltjahr ist.
  3. Verschiedene Daten ausprobieren durch erneute Auswahl, um zu sehen, wie Jahresgrenzen und Schalttage die Zahlen verschieben.

Daten in der Nähe von Jahresgrenzen sind der Ort, an dem die ISO-Regel interessant wird: der 1. Januar 2023 ist ISO-Woche 52 des Jahres 2022 (ja, wirklich); der 31. Dezember 2018 ist ISO-Woche 1 des Jahres 2019. Das Werkzeug behandelt diese Sonderfälle automatisch.

Der Algorithmus hinter den Zahlen

Die ISO-8601-Wochennummerierung ist nicht "Jahrestag durch 7 teilen." Der kanonische Algorithmus ist: den Donnerstag der Woche nehmen, die das Zieldatum enthält (Montags-basierte Wochen), feststellen, in welches Kalenderjahr dieser Donnerstag fällt - das ist das "Wochennumerierungs-Jahr." Dann den 4. Januar desselben Jahres finden (der 4. Januar liegt per Konstruktion immer in ISO-Woche 1), herausfinden, welcher Montag diese Woche beginnt, und zählen, wie viele Sieben-Tage-Blöcke die eigene Woche von diesem Anker trennen. Der Grund: Woche 1 als "die Woche mit dem ersten Donnerstag" zu definieren garantiert, dass Wochen 1 bis 52 oder 53 immer die Mehrheit ihrer Tage im angegebenen Jahr haben, was die Unschönheit einer "halben Woche" an beiden Grenzen beseitigt. Die Komponente verwendet eine kompakte Implementierung genau dieser Regel, die aus getDay() und einem temporären Date-Klon arbeitet, damit Sommerzeit-Übergänge nie die Antwort verschieben.

Wer sich wirklich um Wochennummern kümmert

  • Europäische Lohn- und Planungssoftware - viele deutsche, skandinavische und niederländische Unternehmen identifizieren Lohnperioden, Schichten und Projektmeilensteine mit "Woche 14" oder "KW 23" (Kalenderwoche).
  • Agile/Scrum-Teams, die ein- oder zweiwöchige Sprints betreiben und Sprint-Nummern nach der ersten ISO-Woche benennen, die sie abdecken.
  • Fertigungslos-Codes. Datumscodes auf Elektronik und Verbrauchsgüter lesen häufig "JJWW" (z. B. 2415 = 2024 Woche 15) - das sieht man auf Mikrochips, Dosenfutter und Pharmazeutika.
  • Finanzberichte, bei denen Unternehmen Bücher nach einem 4-4-5- oder 4-5-4-Wochenmuster schließen, das an ISO-Wochen ausgerichtet ist, nicht an Kalendermonaten.
  • Schwangerschaftsverfolgung - "38 Wochen" ist der Standard-Schwangerschaftsmeilenstein, immer in Wochen gezählt.
  • Projekt-Retrospektiven, bei denen "Was haben wir in Woche 37 ausgeliefert?" leichter zu beantworten ist als "Was haben wir vom 9. bis 15. September ausgeliefert?"

Fallstricke, die Menschen überraschen

  • ISO ist nicht US-Nummerierung. US/kanadische Kalender verwenden oft Woche 1 = die Woche mit dem 1. Januar, Sonntags-Anfang. Die "Woche 1" dieses Systems und ISO-"Woche 1" können um eine ganze Woche auseinander liegen. Wenn ein US-Büro einer deutschen Abteilung "Woche 1" mailt, können sie verschiedene Daten meinen.
  • 53-Wochen-Jahre. Jahre, die an einem Donnerstag (normales Jahr) oder Mittwoch (Schaltjahr) beginnen, enthalten 53 ISO-Wochen. Jüngste Beispiele: 2015, 2020, 2026. Ein Lohnsystem, das 52 Wochen hart codiert, wird brechen.
  • Der 1. Januar kann in der Woche 52 oder 53 des Vorjahres sein. Der 1.-3. Januar mancher Jahre gehört zur letzten ISO-Woche des Vorjahres, weil die Donnerstag-Regel sie dorthin schiebt. "Jahresberichte für Woche 1" einzureichen kann diese ersten Tage verpassen.
  • Die Date.prototype.getDay()-Methode gibt 0 für Sonntag zurück, nicht 1 für Montag - eine häufige Quelle von Eins-zu-viel/wenig-Fehlern bei der manuellen Implementierung von ISO-Wochenmathe.
  • Microsofts Excel-WEEKNUM-Funktion verwendet standardmäßig US-Nummerierung; für ISO muss WEEKNUM(A1, 21) übergeben werden. ISOWEEKNUM ist eine separate Funktion, die in Excel 2013 hinzugefügt wurde.

ISO 8601, US-Wochen und warum es zwei Systeme gibt

ISO 8601 (ISO 8601-1:2019) ist der internationale Standard. Wochen laufen von Montag bis Sonntag; Woche 1 enthält den ersten Donnerstag des Jahres, äquivalent die Woche, die den 4. Januar enthält; Jahre haben 52 oder 53 Wochen. Das Format 2024-W15 oder 2024-W15-3 (wobei -3 Mittwoch ist) ist ein ISO-gültiger Ausdruck. Das ISO-Wochennumerierungs-Jahr kann vom gregorianischen Kalenderjahr rund um Neujahr abweichen: der 1. Januar 2023 war ISO 2022-W52. US/kanadische Wochennummerierung ist informell: Wochen beginnen am Sonntag, Woche 1 enthält den 1. Januar, und das Jahr hat 53 oder 54 teilweise Wochen. Kanadische Bundes-HR verwendet ISO; US-kommerzielle Software überwiegend das US-System. Die Woche mit einem bestimmten Datum ist in jedem System nicht dieselbe Spanne.

Wochennummern in Excel, Python und im Browser

Pythons datetime.isocalendar() gibt ein benanntes Tupel (Jahr, Woche, Wochentag) zurück und ist das richtige Werkzeug in einem Notebook. Pandas bietet .dt.isocalendar() für Series für vektorisierte Operationen auf einer Datumsspalte. Excel hat ISOWEEKNUM(Datum) für ISO und WEEKNUM(Datum, [Rückgabe_Typ]) für US und andere Systeme - das Rückgabe_Typ-Argument ist, wo sich Bugs verstecken. Moment.jss .isoWeek() und date-fnss getISOWeek() umwickeln denselben Algorithmus. Der native Browser hat keine direkte ISO-Wochen-API - Intl.DateTimeFormat legt keine Wochennummern offen (eine bekannte Lücke, die der kommende Temporal-Vorschlag über Temporal.PlainDate.prototype.weekOfYear schließen wird). Bis Temporal ausgeliefert wird, ist die kompakte Implementierung auf dieser Seite oder ein 10-Zeilen-Helfer der Weg. Diese Seite ist die richtige Wahl, wenn man die Antwort in drei Sekunden möchte, ohne DevTools oder Excel zu öffnen.

Häufig gestellte Fragen

Warum liegt der 1. Januar manchmal in Woche 52 des Vorjahres?

Weil ISO 8601 Woche 1 als die Woche definiert, die den ersten Donnerstag des Jahres enthält, nicht die Woche, die den 1. Januar enthält. Wenn der 1. Januar ein Freitag, Samstag oder Sonntag ist, hat die Woche, in der er liegt, ihren Donnerstag im Vorjahr, sodass ISO sie der Woche 52 (oder 53) des Vorjahres zuweist. Der 1. Januar 2023 war ein Sonntag und gehörte zur ISO-Woche 52 des Jahres 2022. Das ist das beabsichtigte Verhalten, kein Fehler.

Wie erkenne ich, ob ein Jahr 53 ISO-Wochen hat?

Ein Jahr hat 53 ISO-Wochen, wenn es an einem Donnerstag beginnt (normales Jahr) oder an einem Mittwoch (Schaltjahr). Äquivalent hat ein Jahr 53 Wochen, wenn der 1. Januar ein Donnerstag oder der 31. Dezember ein Donnerstag ist. Jüngste 53-Wochen-Jahre: 2009, 2015, 2020, 2026. Das Werkzeug zeigt die Wochennummer direkt an; wenn man den 31. Dezember eines bestimmten Jahres wählt und 53 angezeigt wird, hat man die Antwort.

Warum verwendet dieses Werkzeug Montag als Wochenanfang?

Weil ISO 8601 Montags-Anfang festlegt, was den meisten europäischen Bürgerkalendern entspricht und die Donnerstag-Anker-Regel elegant macht. Die US/Kanada-Konvention ist Sonntags-Anfang. Für eine US-Style-Wochennummer Excel WEEKNUM mit return_type 1 (Sonntags-Anfang) verwenden - dieses Werkzeug macht nur ISO.

Wozu dient der "Jahrestag"?

Der Jahrestag (auch Ordinalzahl-Datum oder julianischer Jahrestag genannt) gibt eine Ganzzahl von 1-366. Er ist handlich für schnelle Subtraktion zwischen zwei Datumswerten desselben Jahres ("Tag 250 minus Tag 100 ergibt 150 Tage Abstand"), zum Lesen von Wetterstations-Daten, wo Ordinalzahl-Tage üblich sind, und für das alte COBOL/Mainframe-Datumsformat YYDDD. Astronomen verwenden eine andere "Julianische Tageszahl", die Tage seit dem 24. November 4714 v. Chr. zählt - trotz des gemeinsamen Namens nicht verwandt.

Respektiert das Werkzeug meine Zeitzone für "heute"?

Das Standarddatum ist das systemmäßige "heute" in der lokalen Zeitzone, wie vom Browser gemeldet. Wenn man die Internationale Datumsgrenze überschreitet, wechselt der Standard entsprechend. Die Wochennummer-Zuweisung selbst ist kalenderbasiert, nicht zeitzonenbasiert - der 1. Januar lokal ist der 1. Januar lokal, unabhängig davon, was es in UTC ist. Wenn man Zahlen mit einem Kollegen auf der anderen Seite der Welt um 23 Uhr lokal vergleicht, könnten sie sich in verschiedenen Kalendertagen befinden.

Wie werden Quartale hier berechnet?

Standard-Kalenderquartale: Q1 ist Januar bis März, Q2 ist April bis Juni, Q3 ist Juli bis September, Q4 ist Oktober bis Dezember. Das Werkzeug leitet dies aus dem Kalendermonat ab, nicht aus ISO-Wochen - "Quartal 1" ist nicht "Wochen 1 bis 13" im ISO-Sinne. Unternehmens-Geschäftsjahresquartale mit nicht-kalendarischem Geschäftsjahr (Apples Q1 endet im Dezember, zum Beispiel) unterscheiden sich und werden von diesem Werkzeug nicht abgedeckt.

Warum zeigt das Werkzeug "Schaltjahr" an, obwohl mein Datum im März liegt?

Schaltjahr ist eine Eigenschaft des gesamten Jahres, nicht des gewählten Datums. 2024 ist ein Schaltjahr, weil 2024 durch 4 teilbar und nicht durch 100 teilbar ist (oder es ist durch 400 teilbar). Jedes Datum in 2024 zeigt "Schaltjahr: ja" an, auch wenn der tatsächliche Schalttag nur der 29. Februar ist. Die Markierung ist enthalten, weil sie die häufige Folgefrage "hat dieses Jahr einen 29. Feb?" beantwortet.

Wird mein Datum für die Berechnung an einen Server gesendet?

Nein. Die Wochennummer-, Jahrestag-, Quartal- und Schaltjahr-Berechnungen sind reine Funktionen des Eingabedatums, berechnet in der Preact-Insel mit nativen JavaScript-Date-Methoden. Kein Fetch, kein Backend-Aufruf, keine Drittanbieter-Bibliothek. Die Seite funktioniert vollständig offline, sobald das JavaScript-Bundle gecacht ist.

Kann ich das für historische Daten wie 1900 oder 2100 verwenden?

Ja, innerhalb des vernünftigen Rahmens. JavaScript Date unterstützt ungefähr +/-100 Millionen Tage von der Epoche an, und die ISO 8601-Wochenregeln sind für den proleptischen Gregorianischen Kalender über die gesamte Spanne definiert. Daten vor der gregorianischen Reform (15. Oktober 1582) befinden sich technisch im Julianischen Kalender in historischen Dokumenten, aber das Werkzeug berechnet trotzdem eine ISO-Wochennummer mit proleptischen gregorianischen Regeln - erwarte nicht, dass es mit Periode-Dokumenten übereinstimmt.

Welches Format soll ich verwenden, wenn ich eine ISO-Woche als Text schreiben möchte?

Das kanonische Format ist JJJJ-Www, zum Beispiel 2024-W15 für Woche 15 des Jahres 2024. -D für den Tag innerhalb der Woche hinzufügen: 2024-W15-3 ist Mittwoch der Woche 15. Das W ist immer großgeschrieben. Dieses Format wird von ISO-8601-Parsern verstanden, von einigen Programmiersprachen nativ (Python isoformat, Go-Formatierung) und von den meisten Normenorganisationen. Es wird noch nicht vom JavaScript-Date-Konstruktor geparst; dafür wird eine Hilfsfunktion benötigt.

Mehr Date & Time