Come viene utilizzato esattamente il database tzdata?


10

Diversi sistemi operativi sembrano gestire l'ora legale (DST) in modo diverso. Mi piace molto l'approccio Cisco IOS che è molto semplice e consente di modificare la data e l'ora di inizio e fine dell'ora legale. Per esempio:

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

... imposta l'orologio con 60 minuti di anticipo la domenica della seconda settimana di marzo alle 2:00 e l'orologio cambia di 60 minuti indietro la prima domenica di novembre alle 2:00. In che modo Linux gestisce l'ora legale? So che esiste un tzdatapacchetto che contiene i file di dati del fuso orario e questi file sono installati nella /usr/share/zoneinfo/directory. Come e con quali utility vengono utilizzati quei file? Riesco a vedere il passaggio da UTC (2) e i nomi dei fusi orari (EET ed EEST) nel file:

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

Inoltre, M3è probabilmente il terzo mese ed M10è un decimo mese? Inoltre, l'offset dovrebbe essere specificato da qualche parte. Ad esempio in IOS si può configurare che una volta che si verifica l'ora legale, l'orologio si sposta ad esempio di 90 o 120 minuti anziché 60.

Risposte:


4

Se dai un'occhiata alla pagina di Wikipedia relativa al database TZ :

estratto

Formati di file

Il database tz è pubblicato come un insieme di file di testo che elencano le regole e le transizioni di zona in un formato leggibile dall'uomo. Per l'uso, questi file di testo vengono compilati in un set di file binari indipendenti dalla piattaforma, uno per fuso orario. Il codice sorgente di riferimento include un tale compilatore chiamato zic (compilatore di informazioni di zona), nonché un codice per leggere quei file e usarli in API standard come localtime () e mktime ().

Ulteriori ricerche hanno fornito queste domande e risposte su StackOverflow, intitolato: Domanda sul formato di file del database Timezone , che conteneva informazioni aggiuntive sul formato del file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.