Provided by: manpages-zh_1.6.3.2-1_all
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_timecnt 個 unsigned 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)
跋
本頁面中文版由中文 man 手冊頁計劃提供。 中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh TZFILE(5)