Lidar com segundos saltos com data

1

Estou usando o clockspeed-0.62 (software DJB) no Ubuntu 13.10. Eu configurei fusos horários para que /usr/share/zoneinfo seja um link para /usr/share/right e meu /etc/leapsecs.dat esteja atualizado, ou seja, contenha 25 segundos bissextos.

Alguém poderia me ajudar a entender (e a resolver) por que o comando date -u mostra o tempo 25 segundos à frente export TZ=UTC; date ?

Saída de 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
    
por user244588_daniel 04.02.2014 / 18:47

1 resposta

0

TZ=UTC faz com que a glibc use o arquivo zoneinfo chamado "UTC", que no seu caso é /usr/share/zoneinfo/right/UTC contendo ajustes de segundos extras.

A opção -u é realmente equivalente a definir TZ=UTC0 . Como não há um arquivo zoneinfo chamado UTC0 , a configuração é reinterpretada como estando no formato "std offset" (como em tzset (3) ). Nesse formato, as três primeiras letras são usadas apenas como o nome visível e o "0" é usado como um simples deslocamento de UTC (ou seja, deslocamento do clock do sistema).

    
por grawity 04.02.2014 / 19:17