.TH TZFILE 5 .SH NAME tzfile \- 時區資訊 .SH SYNOPSIS .B #include .SH DESCRIPTION 時區資訊檔案被 .IR tzset(3) 使用, 其開頭為特徵字元"TZif", 以此 標示該檔案為時區資訊檔案, 隨後六個位元組保留未用. 接下來是六 個"標準"位元組順序(高位在前)的四位元組 .BR long 型別值, 按順序描述 如下: .TP .I tzh_ttisgmtcnt 儲存在檔案中的UTC/local指示器數目. .TP .I tzh_ttisstdcnt 儲存在檔案中的standard/wall指示器數目. .TP .I tzh_leapcnt 其值儲存在檔案中的leap second的數目 .TP .I tzh_timecnt 其值儲存在檔案中的"變化時間"數目 .TP .I tzh_typecnt 其值儲存在檔案中的"本地時間型別"數目(非零!) .TP .I tzh_charcnt 儲存在檔案中的"時區簡寫符"數目 .PP 跟在上面這些頭部後的是 .I tzh_timecnt 個"標準"位元組順序的四字 節 .BR long 型別值, 以升序排序. 每個值均作為一個變化時間(就像 .IR time (2) 的返回), 系統依賴這些值來計算本地時間變化. 而在此 之後的是 .I tzh_timecnt 個 .BR "unsigned char" 型別的一位元組值, 這些 值指出了檔案中描述的多種"本地時間"型別中哪一個與具有相同索 引的變化時間相關. 這些值可作為 .I ttinfo 結構陣列的索引. 而 .I ttinfo 結構在檔案中隨後就有定義, 描述如下: .in +.5i .sp .nf .ta .5i +\w'unsigned int\0\0'u struct ttinfo { long tt_gmtoff; int tt_isdst; unsigned int tt_abbrind; }; .in -.5i .fi .sp 結構包括一個"標準"位元組順序的四位元組 .BR long 型別值 .I tt_gmtoff, 以及一個一位元組的 .I tt_isdst 和一個一位元組的 .IR tt_abbrind. 在每 個結構裡, .I tt_gmtoff 給出了要被加到UTC的時間, 以秒為單位, .I tt_isdst 表明 .I tm_isdst 是否可透過 .I localtime (3) 設定, 而 .I tt_abbrind 可作為時區簡寫符的陣列索引, 該陣列在檔案中跟在 .I ttinfo 結構後面. .PP 這樣就有 .I tzh_leapcnt 個標準位元組順序的四位元組對, 每個四位元組 對的第一個值給出一個leap second發生的時間, 就如 .IR time(2) 的返回; 每個四位元組對的第二個值給出給定時間之後所實現的總的 leap second數. 四位元組對按時間的升序排序. .PP 同樣有 .I tzh_ttisstdcnt 個standard/wall指示器, 每個儲存了一 個一位元組值; 這些指示器指出了變化時間(與本地時間型別相關)是 否被說明為standard time或者wall clock time, 以及當一個時區 檔案被用於處理POSIX 格式時區環境變數時是否使用變化時間. .PP 最後, 有 .I tzh_ttisgmtcnt 個UTC/local指示器, 每個儲存了一個 一位元組值; 這些指示器指出了變化時間(與本地時間型別相關)是否 被說明為UTC 或者local time, 以及當一個時區檔案被用於處理 POSIX格式時區環境變數時是否使用變化時間. .PP 如果 .I tzh_timecnt 等於零或者時間引數比檔案記錄的第一個變化 時間小的話, .I Localtime 就使用檔案中的第一個標準時間 .I ttinfo, 或者在沒有標準時間結構是就直接使用第一個 .I ttinfo 結構. .SH SEE ALSO newctime(3) .\" @(#)tzfile.5 7.11 .\" This file is in the public domain, so clarified as of .\" 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov). .\" 中文版維護請mailto: mapping@263.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR