Umgang mit Schaltsekunden mit Datum

Umgang mit Schaltsekunden mit Datum

Ich verwende clockspeed-0.62 (DJB-Software) auf Ubuntu 13.10. Ich habe Zeitzonen eingerichtet, sodass dies /usr/share/zoneinfoein Link zu ist /usr/share/right, und meine /etc/leapsecs.datist auf dem neuesten Stand, d. h. enthält 25 Schaltsekunden.

Kann mir jemand helfen, zu verstehen (und das Problem zu lösen), warum date -uder Befehl die Zeit 25 Sekunden im Voraus anzeigt export TZ=UTC; date?

Ausgabe von date; (export TZ=UTC; date); date -u:

Mon Feb  3 22:33:56 CET 2014
Mon Feb  3 21:33:56 UTC 2014
Mon Feb  3 21:34:21 UTC 2014

Antwort1

TZ=UTCveranlasst glibc, die Zoneinfo-Datei mit dem Namen „UTC“ zu verwenden, die in Ihrem Fall /usr/share/zoneinfo/right/UTCAnpassungen für Schaltsekunden enthält.

Die -uOption ist eigentlich gleichbedeutend mit der EinstellungTZ=UTC0. Da eskeine Zoneinfo-Datei mit dem NamenUTC0wird die Einstellung so interpretiert, dass sie stattdessen im Format "std offset" vorliegt (wie intzset(3)). In diesem Format werden die ersten drei Buchstaben nur als sichtbarer Name verwendet unddie „0“ wird als einfacher Offset von UTC verwendet(d. h. Offset von der Systemuhr).

verwandte Informationen