Provided by:
manpages-zh_1.5.1-3_all 
NAME
tzfile - 時區信息
SYNOPSIS
#include <tzfile.h>
DESCRIPTION
時區信息檔案被 tzset(3) 使用, 其開頭為特征字符"TZif", 以此
標示該檔案為時區信息檔案, 隨後六茼r節保留未用. 接下來是六
"標準"字節順序(高位在前)的四字節 long 類型, 按順序描z 如下:
tzh_ttisgmtcnt
保存在檔案中的UTC/local指示器數目.
tzh_ttisstdcnt
保存在檔案中的standard/wall指示器數目.
tzh_leapcnt
其O存在檔案中的leap second的數目
tzh_timecnt
其O存在檔案中的"變化時間"數目
tzh_typecnt
其O存在檔案中的"本地時間類型"數目(非零!)
tzh_charcnt
保存在檔案中的"時區簡寫符"數目
跟在上掖o些頭部後的是 tzh_timecnt "標準"字節順序的四字 節 long 類型,
以升序排序. 每蚧均作為一蚥雂伅(就像 time(2) 的返回), 系統依賴這些-
舁算本地時間變化. 而在此 之後的是 tzh_timecnt unsigned char
類型的一字節, 這些 出了檔案中描z的多種"本地時間"類型中一-
蚖P具有相同索 引的變化時間相關. 這些i作為 ttinfo 結構數組的索引. 而
ttinfo 結構在檔案中隨後就有定義, 描z如下:
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
結構包括一"標準"字節順序的四字節 long 類型 tt_gmtoff, 以及一茪@字節的
tt_isdst 和一茪@字節的 tt_abbrind. 在每 茧硎c裏, tt_gmtoff 給出了-
n被加到UTC的時間, 以秒為單位, tt_isdst 表明 tm_isdst 是否可通過
localtime (3) 設置, 而 tt_abbrind 可作為時區簡寫符的數組索引,
該數組在檔案中跟在 ttinfo 結構後.
這樣就有 tzh_leapcnt 蚍郱r節順序的四字節對, 每茈|字節 對的第一-
馴X一胵eap second發生的時間, 就如 time(2) 的返回; 每茈|字節對的第二-
馴X給定時間之後所實現的總的 leap second數. 四字節對按時間的升序排序.
同樣有 tzh_ttisstdcnt 茳tandard/wall指示器, 每茷O存了一 茪@字節;
這些指示器指出了變化時間(與本地時間類型相關)是 否被說明為standard
time或者wall clock time, 以及當一荇仱 檔案被用於處理POSIX
格式時區環境變量時是否使用變化時間.
最後, 有 tzh_ttisgmtcnt 紖TC/local指示器, 每茷O存了一 一字節;
這些指示器指出了變化時間(與本地時間類型相關)是否 被說明為UTC 或者local
time, 以及當一荇仱狨仵袕Q用於處理
POSIX格式時區環境變量時是否使用變化時間.
如果 tzh_timecnt 等於零或者時間參數比檔案記錄的第一蚥雂 時間小的話,
Localtime 就使用檔案中的第一蚍郱伅 ttinfo,
或者在沒有標準時間結構是就直接使用第一 ttinfo 結構.
SEE ALSO
newctime(3)
TZFILE(5)