Provided by: manpages-zh_1.5.1-3_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
               字段格式相同(当然,未使用 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-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

       字段   YEARMONTHDAY  和  HH: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>

[[Linux man]
       http://cmpp.linuxforum.net

                                                                        ZIC(8)