Gaokao-Countdown-Tool
Wie viele Tage bis zur Gaokao? Echtzeit-Updates, genau bis auf die Sekunde
Gaokao Zeitplan
Was ist Gaokao Countdown?
Der Gaokao-Countdown zeigt die verbleibende Zeit bis zur chinesischen Hochschulaufnahmeprüfung in Tagen, Stunden, Minuten und Sekunden an. Er ist weniger ein Kalendergadget als ein klarer Zeitanker für die letzte Vorbereitungsphase: Lernpläne, Mock-Exams, Wiederholungsrunden, Schlafrhythmus und familiäre Organisation lassen sich an einem gemeinsamen Datum ausrichten. Besonders hilfreich ist er, wenn mehrere Personen denselben Prüfungszeitraum im Blick behalten müssen und nicht jedes Mal manuell nachrechnen wollen. Die Anzeige ersetzt keine Studienplanung, macht aber sichtbar, wie knapp oder komfortabel der Puffer tatsächlich ist. Bei gemeinsamer Nutzung sollten Eingaben, Annahmen und gewünschtes Ergebnis vorher klar sein, damit die Ausgabe nicht falsch interpretiert wird.
Anleitung
Grundlegende Verwendung
- Öffne die Seite, um den genauen Countdown bis zur nächsten Gaokao-Prüfung anzuzeigen
- Der Countdown wird automatisch jede Sekunde aktualisiert
- Überprüfe den Gaokao-Zeitplan unten, um die Prüfungszeiten für jedes Fach zu sehen
- Setze die Seite als Browser-Startseite, um täglich den Countdown zu sehen
Funktionen
Planungstipps
- Nutze den Countdown zur Planung der langfristigen Vorbereitung, orientiere dich bei den finalen Prüfungsarrangements aber an den offiziellen Bekanntmachungen der lokalen Bildungsbehörde.
- Prüfe in den letzten Wochen die Fachzeitpläne, Anfahrtszeiten, Dokumente und Erholungspläne, anstatt dich ausschließlich auf die Anzahl der verbleibenden Tage zu verlassen.
Anwendungsfälle
Technisches Prinzip
Der Countdown ist eine einfache Subtraktion, die in einer Aktualisierungsschleife läuft. Die verbleibende Dauer wird als `target.getTime() - Date.now()` in Millisekunden berechnet und dann durch ganzzahlige Division aufgelöst: Tage = `Math.floor(diff / 86400000)`, Stunden = `Math.floor(diff / 3600000) % 24`, Minuten = `Math.floor(diff / 60000) % 60`, Sekunden = `Math.floor(diff / 1000) % 60`. Der Zielzeitpunkt ist fest: Die Gaokao findet jährlich am 7. Juni ab 09:00 Uhr China Standard Time (UTC+8) statt, wobei einige Provinzen mit neuem Gaokao-Format auf einen vierten Tag erweitert sind. Die Überlaufregel vergleicht `Date.now()` mit `new Date(year, 5, 9, 17, 0)` – JS-Monate sind 0-indiziert, also ist 5 der Juni – und erhöht `year` um eins, sobald dieser Zeitpunkt vergangen ist. Zwei Timing-Fallen treiben die Aktualisierungsschleife an. Erstens driftet `setInterval(fn, 1000)`: Der Callback kann unter Last des Main-Threads 1003–1020 ms später feuern, und die Drift akkumuliert sich, weil die nächste Deadline vom vorherigen Feuerzeitpunkt und nicht von einer Wanduhr-Verankerung geplant wird. Die Lösung besteht darin, `setTimeout` mit einer Verzögerung von `1000 - (Date.now() % 1000)` zu planen, sodass jeder Tick auf die nächste volle Sekunde ausgerichtet wird, oder den angezeigten Wert bei jedem Feuern aus `Date.now()` neu zu berechnen statt einen Zähler zu inkrementieren. Zweitens drosseln die HTML5 Page Visibility API und die Browser-Politik Timer in Hintergrund-Tabs auf etwa einmal pro Minute (mindestens 1 Hz in modernen Chrome/Firefox/Safari bei verstecktem Tab); die Seite gleicht aus, indem sie bei `visibilitychange` aus `Date.now()` neu berechnet, anstatt Intervall-Feuerungen zu zählen. `requestAnimationFrame` ist für die sanfte Ziffern-Flip-Animation reserviert und pausiert automatisch, wenn der Tab versteckt ist, daher darf es nicht als Zeitstempelquelle dienen. Die Lokalisierung verwendet die Gerätezeitzone, die von `Intl.DateTimeFormat().resolvedOptions().timeZone` zurückgegeben wird. Für einen Kandidaten außerhalb von UTC+8 zeigt der Countdown weiterhin auf China Standard Time, daher wird das Ziel einmal mit `Date.UTC(year, 5, 7, 1, 0, 0)` konstruiert – 09:00 CST ist 01:00 UTC – statt mit dem lokalen `Date`-Konstruktor, der den Geräte-Offset stillschweigend verwenden würde. Schaltjahre sind nur relevant, wenn der Planungsanker des Benutzers auf den 29. Februar fällt: Ein 100-Tage-Sprint, der am 29. Februar beginnt, landet an einem anderen Kalenderdatum als derselbe Sprint, der am 28. Februar eines Nicht-Schaltjahrs beginnt. Die Speicherung erfolgt über `localStorage` für das optionale Theme und Ziel-Override; die optionale Benachrichtigung bei T-0 verwendet `Notification.requestPermission()` einmal pro Sitzung und `new Notification(title, { body })` für eine systemweite Warnung ohne die Seite zu verlassen.
- Kernformel: `diff = target.getTime() - Date.now()`; Tage = `Math.floor(diff / 86400000)`, dann `% 24`, `% 60`, `% 60` für Std/Min/Sek. Konstanten: 86.400.000 ms/Tag, 3.600.000 ms/Stunde, 60.000 ms/Min.
- Ziel: 7. Juni, 09:00 China Standard Time (UTC+8). JS-Monatsindex ist 5 für Juni. Überlauf wird ausgelöst, wenn `Date.now() > new Date(year, 5, 9, 17, 0)`; dann `year += 1`.
- Timer-Drift: `setInterval(fn, 1000)` driftet unter Last des Main-Threads. Selbstkorrigierendes Muster: `setTimeout(fn, 1000 - Date.now() % 1000)` richtet jeden Tick auf die nächste volle Sekunde aus.
- Hintergrund-Drosselung: Page Visibility API + Browser-Politik begrenzt Timer in versteckten Tabs auf 1 Hz (Chrome/Firefox/Safari). Abgleich durch Neuberechnung aus `Date.now()` bei `visibilitychange`, nicht durch Zählen der Feuerungen.
- Zeitzone: Das Ziel wird über `Date.UTC(year, 5, 7, 1, 0, 0)` erstellt (09:00 CST = 01:00 UTC), sodass Kandidaten außerhalb von UTC+8 weiterhin einen korrekten Countdown zum Prüfungszeitpunkt sehen, nicht zu ihrem lokalen 09:00.
- Persistenz: `localStorage.setItem(key, value)` (synchron, ~5 MB Origin-Quota) für Theme und Ziel-Overrides. Benachrichtigungen verwenden `Notification.requestPermission()` dann `new Notification(title, { body, icon })`.
- Rendering: `requestAnimationFrame` steuert die Ziffern-Flip-Animation (auto-pausiert bei Verstecken); die angezeigten Ziffern werden bei jedem Frame aus `Date.now()` neu berechnet, nicht inkrementiert, sodass ein verpasstes Frame nie zu wenig zählt.
Beispiele
100-Tage-Sprintplan erstellen
Wenn der Countdown etwa 100 Tage anzeigt, mit der 100-Tage-Sprint-Wiederholung beginnen und den Countdown täglich zur Motivation prüfen.Eine Woche vor der Prüfung
Wenn der Countdown 7 Tage anzeigt, den Schlafrhythmus anpassen, um in optimaler Verfassung für das Gaokao zu sein.Erinnerung für Eltern
Eltern können die Countdown-Seite als Browser-Startseite festlegen, um sich täglich daran zu erinnern, den Vorbereitungsstand ihres Kindes zu überwachen.FAQ
Auf welches Gaokao-Datum zählt sie herunter?
Chinas nationale Hochschulaufnahmeprüfung, traditionell am 7.–8. Juni eines jeden Jahres (einige Provinzen verlängern auf den 9.–10. Juni für zusätzliche Fächer). Die Seite verwendet das angekündigte Datum für die nächste Prüfung; falls die Daten noch nicht angekündigt sind, nutzt sie den historischen Standard 7. Juni.
Kann ich auf ein anderes Prüfungsdatum herunterzählen?
Viele Builds akzeptieren ein eigenes Zieldatum, sodass du auch auf provinzielle Prüfungen, Universitätsaufnahmetests oder internationale Prüfungen herunterzählen kannst. Stelle das Ziel in den Einstellungen ein und die Seite verfolgt Tage, Stunden, Minuten und Sekunden bis dahin.
Warum zeigt der Countdown nach Ende der Prüfung -1 Tag?
Sobald das Zieldatum überschritten ist, zeigt die Seite entweder Null an, wechselt in den Hochzähl-Modus („Prüfung war vor N Tagen“) oder springt automatisch auf das Folgejahr. Verschiedene Builds wählen unterschiedliches Verhalten; prüfe die Einstellungen für deine bevorzugte Option.
Welche Zeitzone wird verwendet?
Die lokale Zeitzone deines Geräts. Festlandchina ist UTC+8 (keine Sommerzeit). Studierende, die die Prüfung in China ablegen, sehen dieselbe Zahl, egal ob ihr Gerät auf Pekinger Zeit oder eine andere Zone eingestellt ist, solange das Prüfungsdatum übereinstimmt.
Pausiert der Countdown, wenn der Tab im Hintergrund ist?
Nein — er verfolgt absolute Zeit, also wirkt sich Hintergrund-Drosselung nicht auf die zugrunde liegende Zahl aus. Der angezeigte Wert holt auf, sobald du zum Tab zurückkehrst. Der Countdown ist auch dann korrekt, wenn du den Browser zwischen den Aufrufen geschlossen hast.
Sind die Ermutigungsnachrichten zufällig?
Die meisten Builds rotieren bei jedem Refresh oder jede Minute eine Liste motivierender Nachrichten — gedacht für die Schreibtisch- oder Wandanzeige. Keine der Nachrichten ist KI-generiert; sie stammen aus einem festen Pool inspirierender Botschaften. Du kannst sie meist deaktivieren oder durch eigene ersetzen.
Wird etwas hochgeladen?
Nein. Der Countdown rechnet aus der Geräteuhr und dem Zieldatum. Es wird nichts protokolliert oder übertragen.