總覽
zic [ -v ] [ -d directory ] [
-l localtime ] [ -p posixrules ] [ -L
leapsecondfilename ] [ -s ] [ -y command ] [
filename ... ]
描述
Zic
從檔案中讀取文字輸入,檔案的名字是用命令列指定的;
然後生成時間轉換資訊檔案,此檔案由輸入指定。
如果 檔名 是 - ,從
標準輸入中讀取。
可得到以下選項:
- -d
目錄
- 在指定的目錄中生成時間轉換資訊檔案,而不是下面的標準
的目錄名。
- -l
時區
- 用給定的時區作為本地時間。
Zic
對此選項的對待如同在輸入中有下面格式的連線行
連線 (從) 時區
(到)本地時間
- -p
時區
- 當處理 POSIX
格式的時區環境變數時,使用給定的時區規則。
Zic
對此選項的對待如同在輸入中有下面格式的連線行
連線 (從) 時區
(到)POSIX規則
- -L
閏秒檔名
- 從指定名字的檔案中讀閏秒資訊。
如果不使用本選項,則在輸出檔案中不出現閏秒資訊。
- 譯註:
早期的日期時間度量採用天文方法,GMT
(Greenwich Mean
- Time,格林威治平均時)
中的 Greenwich
所指稱的是英國的一個
天文臺。1948年發明了原子鐘,當前使用銫133原子鐘的國際原子
時間(TAI)與地球的公轉和自轉無關。由於地球自轉的速度逐漸變
慢,為保持與太陽運動的同相,
當 TAI
與太陽時之間的差距達
到 800ms
時,在太陽時中加入閏秒調快太陽時的時間系統。矯正
後的時間稱為 UTC
時間(Universal Coordinated
Time,世界時)。 PC
機以本機器內的晶振計時,
沒有與 UTC
時間同步的機制。UTC
是法語的縮寫。
引自:現代作業系統/Andrew
S. Tanebaum 著。-北京:
機械工業
出版社,1999.11。第 11
章,第 11.1.2 節;第 5
章, 第 5.4.1 節。
- -v
- 當出現在資料檔案中的年超出了
time(2)
可表示的值的年的範圍時提出申訴。
(讓使用者知道他幹不了超出自身能力的事)
- -s
- 限定在輸出檔案中儲存的時間值無論被作為有符號或無符號
均是同一個值。你能用此選項生成
SVVS 相容檔案。
- 譯註: 傳統 UNIX
使用三十二位有符號整數計數器以秒為單位計
- 時,以1970年1月1日為零起點,在2038年將溢位,負數可表示到
1901年。Linux
使用三十二位無符號整數計數器以秒為單位計時,
以1970年1月1日為零起點,在2106年將溢位。由此決定了時間值
的範圍(至少是在 ANSI C
中)。
引自:現代作業系統/Andrew
S. Tanebaum 著。-北京:
機械工業
出版社,1999.11。第 5
章,第 5.4.2 節。
- -y
命令
- 當檢測年的型別時,使用給定的
命令 ,而不是 yearistype
(見後)
輸入行由欄位組成。欄位之間以白空格字元(空格或
TAB)分隔。
前導和後掛的白空格將被忽略。在輸入中的未加引號的
# 號
表示直到其所在行結束的部分是註釋。如果要在欄位中使用空白和
# 號,
你要把它們用雙引號括起來。任何(去除了註釋後的)空行將被
忽略。非空行應是以下三種類型之一:
規則行,時區行,連線行。
規則行的格式
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
例如:
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
組成規則行的欄位是:
- NAME 名字
- 給出此條規則所屬的規則集的名字,名字可任意起。
FROM 從...(年)
給出本規則應用的啟始年份。提供的年份可以是任何整數;
minimum 最小
(或其略寫)一詞的意思是可表示成整數的最小年份。
maximum 最大
(或其略寫)一詞的意思是可表示成整數的最大年份。
規則可以描述不能以時間值表示的時間,
但忽略不能以時間值表示的時間,
這允許規則在不同時間值型別的主機之間有可移植性。
- TO
到...(年)
- 給出本規則應用的終止年份。除了上面的
最大 和 最小 , only
唯一
(或其略寫)一詞的意思是與
FROM
欄位有相同的值。
- TYPE
型別
- 給出本規則應用的年份型別。如果
TYPE 是 -
,則本規則應用於包含在
FROM 和 TO
之間的所有年份。如果是其他型別,則
Zic 執行下面的命令
yearistype year type
來檢測某一年的型別:
退出狀態 0
表示此年是給定的型別;
退出狀態非 0
表示此年不是給定的型別。
- IN
在...(月)
- 給出本規則有效的月份的名字。月份的名字可用縮寫。
- ON
在...(日)
- 給出本規則有效的日期。可識別的日期的格式包括:
5 一個月的第 5 天
lastSun 一個月的最後的星期天
lastMon 一個月的最後的星期一
Sun>=8 一個月的第 8
天以後(含第 8
天)的第一個星期天
Sun<=25 一個月的第 25
天以前(含第 25
天)的最後一個星期天
星期的名字是可以縮寫或全拼。注意在
ON
欄位中不能有空格。
- AT
在...(時間)
- 給出本規則有效的時間。可識別的時間的格式包括:
2 用小時表示的時間
2:00 用小時:分鐘表示的時間
15:00 用 24 制小時表示的時間 (表示下午的時間)
1:28:14 用小時:分鐘:秒鐘表示的時間
這裡午夜 0
點是一天開始,
午夜 24
點是一天結束。
對於任何以上格式,如果給定的時間是本地的
"牆鍾"
時間,可以後跟字母
w ;
如果給定的時間是本地的
"標準"
時間,可以後跟字母
s ;
果給定的時間世界時間,可以後跟字母
u (或 g 或 z )
如果沒寫此種指示符,假定是"牆鍾"時間。
- 譯註:例如我的"牆鍾"時間是北京時間(GMT+8),我的本地標準時間
- 是
GMT+9(哈爾濱所在的時區的時間)。
- SAVE
補償
- 給出當本規則有效時增加到本地標準時間上的時間量。
本欄位與 AT
欄位格式相同(當然,未使用
w 和 s 字尾)。
- LETTER/S
字母
- 給出當本規則有效時時區縮寫的
"可變部分" (例如,
"EST"中 的 "S"或
"EDT"中的
"D")。如果本欄位是
-,可變部分是空。
時區行格式
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
例如:
Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
組成規則行的欄位是:
- NAME 名字
- 時區的名稱,被作為為時區而生成的時間轉換檔案的名字。
- GMTOFF
GMT-偏移量
- 為得到本時區的標準時間而應加到
UTC 時間上的時間量。
本欄位與規則行的 AT
和 SAVE
有相同的格式;欄位值是負值
(即以負號開始)表示要從
UTC
時間上減去的時間量。
- RULES/SAVE
規則/補償
- 本時區應用的規則的名字,或者是應加到本地標準時間上的
時間量
。如果本欄位是 -
,則本時區總是用標準時間。
- FORMAT
格式
- 本時區的時區縮寫的格式。字元對
%s 表示時區縮寫的
"可變部分"
。另外,/ 符號(斜扛)
分隔標準時和夏令時的縮寫。
- UNTIL
直到
- 是某個位置的 UTC
偏移量或規則改變的時間。它被指定為
某年某月某日某時。如果指定了本欄位,直到指定的時間之
後,才會產生從改變了的
UTC
偏移量和規則生成的時區資訊。
某年某月某日某時的格式同於規則中的
IN、ON 和 AT 列;
隨後的列可以省略,給未寫出的列的預設值是可能的最早的值。
- 下一行必須是一個
"接續"
的行,就是說,除了字串
"Zone"
和名字省略了之外,與時區行有一樣的格式;接續行在上一行
的 UNTIL
欄位所指定的時間開始後,按本行的
UTC 偏移量或規
則在上一行名字欄位指定的檔案中生成時區資訊。接續行可以
有象時區行一樣的 UNTIL
欄位,用於指示下一行是自己的接續。
- 譯註:上面的這段繞口令的意思是
- zome 輸出的時區檔名
規則1 規則2生效時間
規則2 規則3生效時間
規則n
連線行格式
Link LINK-FROM LINK-TO
例如:
Link Europe/Istanbul Asia/Istanbul
LINK-FROM
欄位的值應是在某個時區行的
NAME 名字
欄位上出現過; LINK-TO
欄位是那個時區的可替代的名字。
除了接續行之外,行可在檔案中以任意順序出現。
描述閏秒的檔案中的行有以下格式:
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
例如:
Leap 1974 Dec 31 23:59:60 + S
欄位 YEAR、 MONTH、 DAY 和
HH:MM:SS
說明什麼時侯閏秒出現。
CORR
欄位在應增加一秒時是
"+",在應減少一秒時是
"-"。
在其他欄位給出的閏秒時間應被解釋為
UTC 時間的情況下, R/S
欄位應是 S ( "Stationary"
靜止一詞的縮寫);在其他欄位給出的閏秒時間應被解釋
為本地牆鍾時間的情況下,
R/S 欄位應是 R(
"Rolling"滾動一詞的縮寫)。
注意
對於有多於兩種型別的本地時間的地區,你可能需要用最早變更時
間的規則的 AT
欄位中的本地標準時間,來確保記錄在編譯的檔案
中的最早變更時間是正確的。
相關檔案
/usr/local/etc/zoneinfo
生成的檔案所在的標準目錄。
mhss <jijingzhisheng@up369.com>
[中國 Linux 論壇 man
手冊頁翻譯計劃]
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh