Como exatamente o banco de dados tzdata é usado?

10

Diferentes sistemas operacionais parecem lidar com o horário de verão (DST) de maneira diferente. Eu realmente gosto da abordagem do Cisco IOS, que é muito simples e permite alterar a data e a hora em que o horário de verão inicia e termina. Por exemplo:

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

..configura o relógio 60 minutos à frente no domingo da segunda semana de março às 2:00 e muda o relógio 60 minutos no primeiro domingo de novembro às 2:00. Como o Linux lida com o horário de verão? Eu sei que existe um tzdatapacote que contém arquivos de dados de fuso horário e esses arquivos são instalados no /usr/share/zoneinfo/diretório Como e por quais utilitários esses arquivos são usados? Eu posso ver a mudança de UTC (2) e nomes de fuso horário (EET e EEST) no arquivo:

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

Além disso, M3é provavelmente o terceiro mês e o M10décimo mês? Além disso, o deslocamento também deve ser especificado em algum lugar. Por exemplo, no IOS, é possível configurar que, quando o horário de verão acontece, o relógio muda por exemplo 90 ou 120 minutos em vez de 60.

Martin
fonte

Respostas:

4

Se você der uma olhada na página da Wikipedia sobre o banco de dados TZ :

excerto

Formatos de arquivo

O banco de dados tz é publicado como um conjunto de arquivos de texto que listam as regras e transições de zona em um formato legível por humanos. Para uso, esses arquivos de texto são compilados em um conjunto de arquivos binários independentes da plataforma - um por fuso horário. O código fonte de referência inclui um compilador chamado zic (compilador de informações da zona), além de código para ler esses arquivos e usá-los em APIs padrão, como localtime () e mktime ().

Pesquisas adicionais exibiram essas perguntas e respostas no stackoverflow, intitulado: Pergunta de formato de arquivo do banco de dados de fuso horário , que possuía informações adicionais sobre o formato do arquivo.

slm
fonte