Обработка високосных секунд с датой

Я использую Clockspeed-0.62 (программное обеспечение DJB) на Ubuntu 13.10. Я настроил часовые пояса так, чтобы /usr/share/zoneinfo был ссылкой на /usr/share/right, а мой /etc/leapsecs.dat был обновлен, то есть содержит 25 високосных секунд.

Может ли кто-нибудь помочь мне понять (и решить), почему команда date -u показывает время на 25 секунд вперед export TZ=UTC; date?

Вывод 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
1
задан 4 February 2014 в 23:36

1 ответ

TZ=UTC заставляет glibc использовать файл zoneinfo с именем «UTC», который в вашем случае /usr/share/zoneinfo/right/UTC содержит настройки високосной секунды.

Опция -u фактически эквивалентна настройке TZ=UTC0 . Поскольку в отсутствует файл zoneinfo с именем UTC0 , настройка вместо этого интерпретируется как имеющая формат «std offset» (как в tzset (3) ). В этом формате первые три буквы просто используются как видимое имя, а «0» используется как простое смещение от UTC (то есть смещение от системных часов).

0
ответ дан 4 February 2014 в 23:36

Другие вопросы по тегам:

Похожие вопросы: