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

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

Я использую 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

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

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

Связанный контент