ZIC(8)

NAME
zic - 時區編輯器

總覽
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  字母
    給出當本規則有效時時區縮寫的 (例如， 的 -，可變部分是空。

時區行格式

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 列； 隨後的列可以省略，給未寫出的列的預設值是可能的最早的值。

    下一行必須是一個 的行，就是說，除了字串 和名字省略了之外，與時區行有一樣的格式；接續行在上一行 的 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 ( 靜止一詞的縮寫)；在其他欄位給出的閏秒時間應被解釋 為本地牆鍾時間的情況下， R/S 欄位應是 R(

注意
對於有多於兩種型別的本地時間的地區，你可能需要用最早變更時 間的規則的 AT 欄位中的本地標準時間，來確保記錄在編譯的檔案 中的最早變更時間是正確的。

相關檔案
/usr/local/etc/zoneinfo 生成的檔案所在的標準目錄。

又見
newctime(3), tzfile(5), zdump(8)

[中文版維護人]
mhss <jijingzhisheng@up369.com>

[中文版最新更新]
2000/12/05

[中國 Linux 論壇 man 手冊頁翻譯計劃]
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh