Schaltsekunden erklärt: Wie UTC mit der Erdrotation Schritt hält
Schaltsekunden sind Ein-Sekunden-Korrekturen, die in UTC eingefügt werden, um die Atomuhrzeit mit der sich verlangsamenden Erdrotation in Einklang zu halten. Sie haben große Systeme zum Absturz gebracht und sollen bis 2035 abgeschafft werden. Dieser Leitfaden behandelt, was sie sind, wie Unix-Zeit mit ihnen umgeht (meist durch Ignorieren) und welche praktischen Muster Systeme zur Absicherung nutzen.
Schaltsekunden in einer Minute
Eine Schaltsekunde ist eine zusätzliche Sekunde, die gelegentlich in UTC eingefügt wird, um die Uhrzeit innerhalb von 0,9 Sekunden von UT1 zu halten — der Zeit, die durch die tatsächliche Erdrotation definiert ist. Atomuhren ticken absolut gleichmäßig, aber die Erde dreht sich nicht absolut gleichmäßig, also driften beide auseinander und müssen neu synchronisiert werden. Seit 1972 gab es 27 solcher Einfügungen, die letzte am 31.12.2016, und die Metrologie-Gremien der Welt haben beschlossen, sie bis 2035 abzuschaffen. Entscheidend: Unix-Zeit ignoriert Schaltsekunden vollständig. Die Tabelle unten zeigt, wie die wichtigsten Zeitskalen zusammenhängen.
| Zeitskala | Basiert auf | Schaltsekunden? | Hinweis |
|---|---|---|---|
| TAI | Atomuhren (SI-Sekunden) | Nie | Kontinuierlich — 37 s vor UTC seit 2017 |
| UT1 | Erdrotation (Astronomie) | — | Die Sonnenzeit, an der UTC nah bleibt |
| UTC | TAI, an UT1 angepasst | Ja (bis ~2035) | Weltweite bürgerliche Zeit |
| Unix-Zeit | UTC, aber 86.400 s pro Tag | Ignoriert | Was Anwendungscode nutzt |
Was ist eine Schaltsekunde?
Eine Schaltsekunde ist eine zusätzliche Sekunde, die in UTC eingefügt wird, um sie innerhalb von 0,9 s von UT1 zu halten — der astronomischen Zeit, die auf der Erdrotation basiert. Die Erdrotation ist unregelmäßig und verlangsamt sich auf langen Zeitskalen leicht, sodass atomares UTC und rotatorisches UT1 auseinanderdriften und neu ausgerichtet werden müssen.
- 27 positive Schaltsekunden wurden zwischen 1972 und der letzten (01.01.2017) eingefügt
- Eine negative Schaltsekunde gab es nie, aber sie ist theoretisch möglich, wenn die Erde sich beschleunigt
- Das IERS-Bulletin C kündigt kommende Schaltsekunden mindestens sechs Monate im Voraus an
- Am Ende eines UTC-Tages eingefügt (23:59:60), typischerweise am 30. Juni oder 31. Dezember
Warum es Schaltsekunden gibt
UTC wurde 1972 als Hybrid neu definiert: die SI-Sekunde (atomar), durch gelegentliche Schaltsekunden innerhalb eines Bruchteils einer Sekunde von UT1 (astronomisch) gehalten. Ziel war, Uhrzeit und Sonnenzeit grob im Einklang zu halten, ohne sich auf eines der reinen Systeme festzulegen.
- TAI: Internationale Atomzeit, ein reiner SI-Sekunden-Zähler ohne Schaltsekunden (derzeit 37 s vor UTC)
- UT1: rotatorische Zeit, basierend auf Erdorientierungsbeobachtungen
- UTC: der Hybrid — atomare Ticks, periodisch zu UT1 hin nachgeführt
- Ohne Schaltsekunden würden UTC und die Sonne um ~1 Minute pro Jahrhundert driften
Schaltsekunden und Unix-Zeit
POSIX-Unix-Zeit ist so definiert, dass sie Schaltsekunden ignoriert: Jeder Unix-Tag hat genau 86.400 Sekunden. Wenn eine Schaltsekunde auftritt, gehen verschiedene Systeme unterschiedlich damit um — keines erhöht den Unix-Timestamp um eine zusätzliche Sekunde. Deshalb folgt ein Unix-/POSIX-Timestamp der UTC, ist aber kein echter Zählwert vergangener physikalischer Sekunden seit 1970.
- Striktes POSIX: die Sekundenzahl wiederholt sich — 23:59:59 tritt zweimal auf, beide auf denselben Unix-Timestamp abgebildet
- Linux-Kernel vor 2012: implementierte striktes POSIX; viele Fehler tauchten auf (Java, MySQL, Hadoop hängen)
- Moderner Linux-Kernel: wendet die Anpassung über clock_settime() an; manche Implementierungen smearen über ein Fenster
- Smearing: die zusätzliche Sekunde über Stunden oder einen Tag verteilen, sodass keine einzelne Sekunde wiederholt wird
Leap Smearing
Die meisten großen öffentlichen NTP-Dienste reichen Schaltsekunden nicht mehr unverändert an Clients weiter. Sie smearen: die zusätzliche Sekunde wird über ein Fenster verteilt, sodass Client-Uhren während des Fensters minimal schneller (oder langsamer bei einer negativen Schaltsekunde) als UTC laufen. Das Ergebnis: kein Client sieht je ein 23:59:60 — um den Preis, kurz von striktem UTC abzuweichen.
| Anbieter | Smear-Fenster | Hinweise |
|---|---|---|
| 24 Stunden, zentriert auf Mitternacht UTC | ~11,6 µs/s Anpassung | |
| AWS | 24 Stunden | Amazon Time Sync Service |
| Meta (Facebook) | 17 Stunden | — |
| Microsoft | 24 Stunden | Seit 2018 |
- Smearing bedeutet, dass Client-Wanduhren während des Smear-Fensters von striktem UTC abweichen — in Ordnung für Anwendungen, nicht für hochpräzises Timing
Könnte es eine negative Schaltsekunde geben?
Jede bisherige Schaltsekunde war positiv — eine Sekunde hinzugefügt. Aber seit etwa 2020 dreht sich die Erde etwas schneller als über den größten Teil des letzten halben Jahrhunderts, was kurzzeitig die einst theoretische Aussicht auf eine negative Schaltsekunde aufwarf: eine Sekunde entfernen, sodass auf 23:59:58 direkt 00:00:00 folgt. Es wäre die erste überhaupt, und viele Systeme, die eine wiederholte Sekunde verarbeiten, behandeln eine übersprungene immer noch falsch. Aktuelle Forschung deutet darauf hin, dass das Abschmelzen der Polkappen die Beschleunigung bremst und eine etwaige negative Schaltsekunde auf etwa 2029 verschieben könnte — bis dahin könnte die Abschaffung 2035 sie gegenstandslos machen.
Die Abschaffung 2035
Die Generalkonferenz für Maß und Gewicht (CGPM) beschloss im November 2022 (Resolution 4), Schaltsekunden spätestens bis 2035 aus UTC zu entfernen. Der Plan ersetzt die ±0,9-s-UT1-Toleranz durch eine viel größere und lässt UTC so über viele Jahrzehnte von der Sonnenzeit driften.
- 2022-11: CGPM-Resolution 4 — die maximale UT1−UTC-Differenz in oder vor 2035 erhöhen
- 2023-11: ITU-R WRC-23 bestätigt die Metrologie-Entscheidung formell
- Nach der Abschaffung wird UTC eine reine Atomzeitskala, an TAI durch einen festen Versatz gebunden
- Implementierungen haben bis 2035 Zeit, Schaltsekunden-Codepfade auszumustern
Verwandte Referenzen
FAQ
- Wie viele Schaltsekunden gab es?
- 27 positive Schaltsekunden wurden zwischen 1972 und dem 01.01.2017 in UTC eingefügt. Seitdem keine mehr. Eine negative Schaltsekunde gab es noch nie.
- Was ist der Unterschied zwischen UTC und TAI?
- TAI ist kontinuierliche Atomzeit ohne Schaltsekunden; UTC ist TAI, durch Schaltsekunden angepasst, um innerhalb von 0,9 s der Erdrotation zu bleiben. Seit 2017 läuft TAI genau 37 Sekunden vor UTC.
- Könnte es eine negative Schaltsekunde geben?
- Möglich, aber noch nie geschehen. Seit etwa 2020 dreht sich die Erde leicht schneller, was prinzipiell das Entfernen statt Hinzufügen einer Sekunde erfordern könnte. Die geplante Abschaffung der Schaltsekunden 2035 könnte die Frage gegenstandslos machen.
- Werden Unix-Timestamps nach 2035 Schaltsekunden enthalten?
- Nein. Unix-Zeit hat Schaltsekunden nie gezählt und wird es nie. Nach der Abschaffung fügt UTC selbst keine mehr hinzu, sodass Unix-Zeit und UTC einfach im Gleichlauf bleiben.
- Warum stürzten Reddit und Cloudflare an Schaltsekundentagen ab?
- Linux-Kernel und Java-Bibliotheken hatten Fehler, die ausgelöst wurden, wenn 23:59:60 auftrat — typischerweise Endlosschleifen, Lock-Contention oder NaN-Mathematik durch eine "negative Sekunde" in manchen Codepfaden.
- Wie groß ist der aktuelle TAI−UTC-Versatz?
- 37 Sekunden. Das sind 27 Schaltsekunden (seit 1972) plus ein 10-Sekunden-Anfangsversatz, der bei der Definition von UTC festgelegt wurde.