我在 Ubuntu 13.10 上執行clockspeed-0.62(DJB 軟體)。我已經設置了時區,因此這/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 使用名為“UTC”的區域資訊文件,在您的情況下,該文件/usr/share/zoneinfo/right/UTC
包含閏秒調整。
該-u
選項實際上相當於設置TZ=UTC0
。既然有沒有指定的區域資訊文件UTC0
,該設定被重新解釋為“std offset”格式(如tzset(3))。在這種格式中,前三個字母僅用作可見名稱,並且「0」用作與 UTC 的簡單偏移(即與系統時鐘的偏移)。