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