Wie genau wird die tzdata-Datenbank verwendet?

10

Verschiedene Betriebssysteme scheinen die Sommerzeit (DST) unterschiedlich zu handhaben. Ich mag den Cisco IOS-Ansatz sehr, der sehr einfach ist und es ermöglicht, Datum und Uhrzeit zu ändern, wenn die Sommerzeit beginnt und endet. Beispielsweise:

clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60

.. stellt die Uhr am Sonntag der zweiten Märzwoche um 2:00 Uhr auf 60 Minuten ein und verschiebt die Uhr am ersten Sonntag im November um 2:00 Uhr um 60 Minuten zurück. Wie geht Linux mit der Sommerzeit um? Ich weiß, dass es ein tzdataPaket gibt, das Zeitzonendatendateien enthält, und diese Dateien werden im /usr/share/zoneinfo/Verzeichnis installiert . Wie und von welchen Dienstprogrammen werden diese Dateien verwendet? Ich kann die Verschiebung von UTC (2) und Zeitzonennamen (EET und EEST) in der Datei sehen:

T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
    HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~# 

Darüber hinaus M3ist wahrscheinlich der dritte Monat und M10ist ein zehnter Monat? Außerdem sollte der Versatz irgendwo angegeben werden. In IOS kann beispielsweise konfiguriert werden, dass sich die Uhr nach dem Auftreten der Sommerzeit beispielsweise um 90 oder 120 Minuten anstatt um 60 Minuten verschiebt.

Martin
quelle

Antworten:

4

Wenn Sie sich die Wikipedia-Seite zur TZ-Datenbank ansehen :

Auszug

Dateiformate

Die tz-Datenbank wird als eine Reihe von Textdateien veröffentlicht, in denen die Regeln und Zonenübergänge in einem für Menschen lesbaren Format aufgelistet sind. Zur Verwendung werden diese Textdateien zu einer Reihe plattformunabhängiger Binärdateien kompiliert - eine pro Zeitzone. Der Referenzquellcode enthält einen solchen Compiler namens zic (Zoneninformations-Compiler) sowie Code zum Lesen dieser Dateien und zur Verwendung in Standard-APIs wie localtime () und mktime ().

Zusätzliche Suche ergab diese Fragen und Antworten zum Stapelüberlauf mit dem Titel: Frage zum Zeitzonen-Datenbankdateiformat , die zusätzliche Informationen zum Dateiformat enthielt .

slm
quelle