Manpages

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)

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh