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

NAME

       tzfile - 时区信息

SYNOPSIS

       #include <tzfile.h>

DESCRIPTION

       时区信息文件被     tzset(3)    使用,    其开头为特征字符"TZif",    以此
       标示该文件为时区信息文件,       随后六个字节保留未用.        接下来是六
       个"标准"字节顺序(高位在前)的四字节 long 类型值, 按顺序描述 如下:

       tzh_ttisgmtcnt
              保存在文件中的UTC/local指示器数目.

       tzh_ttisstdcnt
              保存在文件中的standard/wall指示器数目.

       tzh_leapcnt
              其值保存在文件中的leap second的数目

       tzh_timecnt
              其值保存在文件中的"变化时间"数目

       tzh_typecnt
              其值保存在文件中的"本地时间类型"数目(非零!)

       tzh_charcnt
              保存在文件中的"时区简写符"数目

       跟在上面这些头部后的是   tzh_timecnt   个"标准"字节顺序的四字  节  long
       类型值,  以升序排序.  每个值均作为一个变化时间(就像  time(2)   的返回),
       系统依赖这些值来计算本地时间变化.   而在此   之后的是   tzh_timecntunsigned             char             类型的一字节值,              这些
       值指出了文件中描述的多种"本地时间"类型中哪一个与具有相同索
       引的变化时间相关.  这些值可作为  ttinfo   结构数组的索引.   而   ttinfo
       结构在文件中随后就有定义, 描述如下:

            struct ttinfo {
                 long          tt_gmtoff;
                 int           tt_isdst;
                 unsigned int  tt_abbrind;
            };

       结构包括一个"标准"字节顺序的四字节      long      类型值     tt_gmtoff,
       以及一个一字节的 tt_isdst 和一个一字节的  tt_abbrind.   在每  个结构里,
       tt_gmtoff  给出了要被加到UTC的时间,  以秒为单位, tt_isdst 表明 tm_isdst
       是否可通过      localtime      (3)      设置,       而       tt_abbrind
       可作为时区简写符的数组索引, 该数组在文件中跟在 ttinfo 结构后面.

       这样就有      tzh_leapcnt      个标准字节顺序的四字节对,     每个四字节
       对的第一个值给出一个leap   second发生的时间,   就如   time(2)   的返回;
       每个四字节对的第二个值给出给定时间之后所实现的总的    leap    second数.
       四字节对按时间的升序排序.

       同样有 tzh_ttisstdcnt 个standard/wall指示器,  每个保存了一  个一字节值;
       这些指示器指出了变化时间(与本地时间类型相关)是       否被说明为standard
       time或者wall    clock    time,    以及当一个时区    文件被用于处理POSIX
       格式时区环境变量时是否使用变化时间.

       最后,  有  tzh_ttisgmtcnt  个UTC/local指示器,  每个保存了一个 一字节值;
       这些指示器指出了变化时间(与本地时间类型相关)是否 被说明为UTC  或者local
       time,                                      以及当一个时区文件被用于处理
       POSIX格式时区环境变量时是否使用变化时间.

       如果 tzh_timecnt  等于零或者时间参数比文件记录的第一个变化  时间小的话,
       Localtime              就使用文件中的第一个标准时间             ttinfo,
       或者在没有标准时间结构是就直接使用第一个 ttinfo 结构.

SEE ALSO

       newctime(3)

                                                                     TZFILE(5)