Countdown-Timer

Sekundengenauer Live-Countdown bis zu deinem Wunschdatum. Teile den Link mit Freunden, geht in den Vollbildmodus.

{{ d.days === 1 ? __t('unit_day') : __t('unit_days') }}
{{ d.hours === 1 ? __t('unit_hour') : __t('unit_hours') }}
{{ d.minutes === 1 ? __t('unit_minute') : __t('unit_minutes') }}
{{ d.seconds === 1 ? __t('unit_second') : __t('unit_seconds') }}
{{ __t('status_now') }} {{ __t('status_past') }} {{ __t('status_future') }}

Wofür ist der Countdown-Timer?

  • Geburtstage — runder Geburtstag, Kindergeburtstag, Kalendererinnerung
  • Feiertage — Weihnachten, Silvester, Ostern, Sommerferien
  • Deadlines — Projektabgaben, Klausuren, Bewerbungsfristen
  • Releases — Spiele-Launches, Produktveröffentlichungen, Konzerttickets
  • Hochzeiten, Reisen — Save-the-Date, Flugcountdown

Funktionen

Der Timer tickt jede Sekunde live und zeigt Tage, Stunden, Minuten und Sekunden in großen Ziffern. Der Browser-Tab zeigt die verbleibende Zeit ebenfalls — perfekt zum Mitlaufen. Mit dem Vollbild-Knopf wird der Timer zum Bildschirmschoner. Konfiguration und Zieldatum werden im Browser gespeichert (localStorage) und über die URL geteilt — so behält jeder Empfänger genau denselben Countdown.

Countdown teilen

Klicke auf Link kopieren — die URL enthält Titel, Datum und Uhrzeit als Parameter. Jeder, der den Link öffnet, sieht den gleichen Countdown. Ideal für Einladungen, Save-the-Date-Mails oder Slack-Pings vor einem Release.

Wie ein Countdown wirklich tickt

Ein digitaler Countdown subtrahiert kontinuierlich die aktuelle Systemzeit vom Zielzeitpunkt. Im Browser geschieht das über Date.now(), das die Anzahl der Millisekunden seit dem Unix-Epoch 1970-01-01 00:00:00 UTC zurückgibt — derselbe Bezugspunkt, den auch POSIX time_t verwendet. Der Timer auf dieser Seite ruft die Differenz jede Sekunde neu ab, anstatt einen Zähler hochzuzählen. Das ist wichtig, weil setInterval(fn, 1000) nicht garantiert exakt jede Sekunde feuert: wechselt der Nutzer den Tab, wird der Timer in modernen Browsern auf etwa einmal pro Sekunde gedrosselt, und bei Hintergrund-Tabs sogar noch stärker. Solange die Anzeige aber aus der absoluten Differenz berechnet wird, spielt das keine Rolle — selbst nach einem zehnminütigen Ruhezustand zeigt die Anzeige beim nächsten Tick wieder den korrekten Wert.

Heikler wird es bei Zeitzonen und Sommerzeit. Das Date-Input des Browsers liefert nur das Kalenderdatum, das Time-Input nur die Uhrzeit — beide werden in der lokalen IANA-Zeitzone (z. B. Europe/Berlin) interpretiert. Klickt jemand in New York auf deinen Share-Link, der das Ziel 2026-12-31 23:00 enthält, sieht er denselben Wandkalender-Termin, aber die UTC-Repräsentation ist sechs Stunden später. Der Countdown selbst stimmt für beide, weil intern in Millisekunden seit Epoch gerechnet wird. Beim Sommerzeit-Wechsel gemäß EU-Richtlinie 2000/84/EG (letzter Sonntag im März / Oktober) ist außerdem zu beachten: eine Stunde existiert doppelt bzw. gar nicht. Wer ein Ziel exakt auf die fehlende Stunde am letzten Sonntag im März legt, erhält in der Praxis den nächstmöglichen gültigen Zeitstempel.

Genauigkeit hat physikalische Grenzen. Schaltsekunden, eingefügt durch IERS-Bulletin C, werden vom Betriebssystem typischerweise als Sprung in der Uhrzeit abgefangen — der JavaScript-Timer bemerkt das nicht und springt einfach mit. Für reguläre Anwendungen (Geburtstag, Deadline, Projektstart) ist das vollständig egal. Wer einen Countdown auf den NTP-genauen Zeitstempel eines Raketenstarts haben möchte, sollte zusätzlich die Server-Zeit synchronisieren. Für alles andere reicht die System-Clock — moderne Endgeräte sind auf wenige hundert Millisekunden gegen UTC synchronisiert.

Formel und Umrechnung

Die Restzeit ergibt sich einfach als delta = target_ms - now_ms. Aus dem absoluten Delta werden die Felder per Ganzzahl-Division gewonnen: days = floor(|delta| / 86 400 000), hours = floor(|delta| / 3 600 000) mod 24, minutes = floor(|delta| / 60 000) mod 60, seconds = floor(|delta| / 1000) mod 60. Der Tag hat 86 400 Sekunden, die Stunde 3 600, die Minute 60. Die Umrechnung in Tage ist exakt, solange keine Schalttag- oder Sommerzeit-Sprünge zwischen Jetzt und Ziel liegen — und selbst dann bleibt das Millisekunden-Delta korrekt, lediglich die menschliche Wahrnehmung von "einem Tag später" weicht ggf. um eine Stunde ab. Für ISO-8601-Dauer-Notation gilt: 1 Tag 2 Stunden 3 Minuten = P1DT2H3M.

Konkrete Beispiele

Ein paar reale Zahlen, damit du die Größenordnungen einordnen kannst:

  • Vom 09.06.2026 12:00 bis Silvester 2026 23:59:59 sind es 205 Tage 11 Stunden 59 Minuten bzw. 17 738 399 Sekunden.
  • Eine 8-stündige Klausur am 15.07.2026 09:00 ist als Countdown von heute (09.06.2026 12:00) genau 35 Tage 21 Stunden entfernt.
  • Bis zur nächsten Sommerzeit-Endung am letzten Sonntag im Oktober 2026 (25.10.2026 03:00 lokal) sind es ca. 138 Tage — die Uhr wird dann um eine Stunde zurückgestellt.
  • Eine Woche entspricht 604 800 Sekunden, ein Schaltjahr-Februar hat 2 505 600 Sekunden, ein gewöhnliches Jahr 31 536 000 Sekunden.
  • Der Unix-Timestamp 1893456000 entspricht 2030-01-01 00:00:00 UTC — ein beliebter Long-Term-Countdown-Anker.

Grenzen und Stolpersteine

Wichtig zu wissen: ein 32-Bit-signed-time_t kann nur bis zum 19.01.2038 03:14:07 UTC zählen — das berühmte Y2038-Problem. Moderne Systeme nutzen 64-Bit-Zeitstempel, JavaScript intern Double-Precision-Floats mit ca. 9 Billiarden Millisekunden Reichweite; im Browser ist das also kein Thema. Bei sehr großen Deltas (> 285 000 Jahre) wird die Sekunden-Genauigkeit allerdings unscharf. Sommerzeit-Übergänge nach EU-Richtlinie 2000/84/EG sowie regionale Ausnahmen (z. B. Marokko, Iran, US-Bundesstaaten ohne DST) führen dazu, dass Wandkalender-Tage nicht immer 24 Stunden lang sind — ein Countdown auf "morgen 09:00 Uhr" kann am DST-Wochenende 23 oder 25 Stunden anzeigen. Auch Schaltsekunden (zuletzt 2016-12-31) verzerren Sub-Sekunden-Vergleiche minimal. Und schließlich: ISO-Kalenderwochen (ISO 8601, Woche 1 enthält den ersten Donnerstag des Jahres) unterscheiden sich von US-Kalenderwochen (Woche 1 = Woche mit dem 1. Januar) — relevant für "Countdown bis KW 26"-Szenarien.

Häufige Fragen

Läuft der Countdown auch weiter, wenn ich den Tab schließe?
Nein — der Tab muss offen sein, weil die Berechnung im Browser stattfindet. Beim erneuten Öffnen wird die Restzeit aber sofort wieder korrekt angezeigt, da sie aus dem gespeicherten Zieldatum berechnet wird.
Welche Zeitzone wird verwendet?
Die lokale Zeitzone deines Geräts (IANA-Datenbank, z. B. Europe/Berlin). Wer den Share-Link in einer anderen Zeitzone öffnet, sieht denselben Wandkalender-Zeitpunkt — z. B. "31.12. 23:00" — aber zu seiner lokalen Uhr versetzt.
Was passiert beim Sommerzeit-Wechsel?
Wenn das Ziel jenseits eines DST-Wechsels liegt, ist die Tagesanzahl korrekt, aber die Stunden-Restzeit verschiebt sich um ±1 Stunde gegenüber einer einfachen 24-Stunden-Rechnung. Das ist beabsichtigt — der Countdown zeigt die echte Restzeit bis zum lokalen Wandkalender-Moment.
Wie genau ist die Anzeige?
Sekundengenau für alle praktischen Zwecke. Die Browser-Uhr ist meist auf wenige hundert Millisekunden gegen UTC synchronisiert; die Anzeige tickt einmal pro Sekunde. Schaltsekunden werden vom Betriebssystem als sanfter Sprung absorbiert.
Kann ich mehrere Countdowns gleichzeitig laufen lassen?
Ja — öffne den Timer in mehreren Browser-Tabs mit unterschiedlichen Share-Links. Jeder Tab speichert sein eigenes Zieldatum in den URL-Parametern, sodass sie sich nicht überschreiben.
Werden meine Daten an einen Server gesendet?
Nein. Titel, Datum und Uhrzeit bleiben ausschließlich in deinem Browser (localStorage) und in der URL. Es gibt keinerlei Server-Roundtrip für die Berechnung — CalcSI sieht deine Termine nicht.

Passende Tools