Provided by: manpages-zh_1.5.2-1_all bug

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-   ,則本規則應用於包含在    FROMTO
               之間的所有年份。如果是其他類型,則 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 (或 gz ) 如果沒寫此種指示符,假定是"牆鐘"時間。

       譯注:例如我的"牆鐘"時間是北京時間(GMT+8),我的本地標準時間
               是 GMT+9(哈爾濱所在的時區的時間)。

       SAVE  補償
               給出當本規則有效時增加到本地標準時間上的時間量。 本字段與 AT 字段格式相同(當然,未使用 ws 延伸檔名)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 時間上的時間量。 本字段與規則行的  ATSAVE  有相同的格式;字段值是負值
             (即以負號開始)表示要從 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

       字段 YEARMONTHDAYHH:MM:SS 說明什麼時侯閏秒出現。 CORR 字段在應增加一秒時是 "+",在應減少一秒時是
       "-"。  在其他字段給出的閏秒時間應被解釋為  UTC  時間的情況下,  R/S  字段應是   S   (   "Stationary"
       靜止一詞的縮寫);在其他字段給出的閏秒時間應被解釋 為本地牆鐘時間的情況下, R/S 字段應是 R( "Rolling"滾動一詞的縮寫)。

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

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

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

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

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

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

                                                                        ZIC(8)