¿Cómo se usa exactamente la base de datos tzdata?

10

Los diferentes sistemas operativos parecen manejar el horario de verano (DST) de manera diferente. Realmente me gusta el enfoque Cisco IOS, que es muy simple y permite cambiar la fecha y la hora cuando comienza y termina el horario de verano. Por ejemplo:

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

... establece el reloj con 60 minutos de anticipación el domingo de la segunda semana de marzo a las 2:00 y el reloj retrocede 60 minutos el primer domingo de noviembre a las 2:00. ¿Cómo maneja Linux el horario de verano? Sé que hay un tzdatapaquete que contiene archivos de datos de zona horaria y esos archivos están instalados en el /usr/share/zoneinfo/directorio. ¿Cómo y por qué utilidades se utilizan esos archivos? Puedo ver el cambio de UTC (2) y nombres de zona horaria (EET y EEST) en el archivo:

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

Además, ¿ M3es probablemente el tercer mes y M10es el décimo mes? Además, el desplazamiento también debe especificarse en alguna parte. Por ejemplo, en IOS se puede configurar que una vez que ocurre el horario de verano, el reloj cambia por ejemplo 90 o 120 minutos en lugar de 60.

Martín
fuente

Respuestas:

4

Si echa un vistazo a la página de Wikipedia sobre la base de datos TZ :

extracto

Formatos de archivo

La base de datos tz se publica como un conjunto de archivos de texto que enumeran las reglas y las transiciones de zona en un formato legible para humanos. Para su uso, estos archivos de texto se compilan en un conjunto de archivos binarios independientes de la plataforma, uno por zona horaria. El código fuente de referencia incluye un compilador llamado zic (compilador de información de zona), así como un código para leer esos archivos y usarlos en API estándar como localtime () y mktime ().

Una búsqueda adicional arrojó este Q&A en stackoverflow, titulado: Pregunta de formato de archivo de base de datos de zona horaria , que tenía información adicional sobre el formato de archivo.

slm
fuente