Linux 时区文件格式【man 5 tzfile】

时区文件格式标准:https://datatracker.ietf.org/doc/html/rfc8536

1. NAME(名)

tzfile - 时区文件。(非文本文件)

2. DESCRIPTION(描述)

本页介绍被 tzset(3) 函数使用的时区文件的结构。这些文件通常位于 /usr/lib/zoneinfo 或 /usr/share/zoneinfo 目录下。

时区文件头

时区文件以44字节的头开始:

  • 4字节,魔法字符串 “TZif” 将其标识为时区信息文件(本文简称时区文件)。
  • 1字节,标识文件格式版本的单个字符:ASCII NUL(“\0”)或 “2”(0x32)。
  • 15字节,全零,保留以备将来使用。
  • 24字节,6个 long 类型的4字节值,按“标准”字节顺序写入(值的高字节先写入)。这些值依次为:
    ① tzh_ttisgmcnt
    存储在文件中的 UTC/local 指示器的数量。
    ② tzh_ttisstdcnt
    存储在文件中的 standard/wall 指示器的数量。
    ③ tzh_leapcnt
    存储在文件中的数据的闰秒数。
    ④ tzh_timecnt
    将数据存储在文件中的 “transition time” 数。
    ⑤ tzh_typecnt
    文件中存储数据的“local time types”的数量(不得为零)。
    ⑥ tzh_charcnt
    文件中存储的“timezone abbreviation string ”的字符数。

上面的标题后面跟着tzh_timecnt四个字节的值,类型为long,按升序排序。这些值以“标准”字节顺序写入。每个都被用作转换时间(如时间(2)返回的),用于计算本地时间的规则在该转换时间改变。接下来是tzh_timecnt类型为unsigned char的单字节值;每一个都告诉文件中描述的不同类型的“本地时间”类型中的哪一个与相同的索引转换时间相关联。这些值用作文件中下一个出现的ttinfo结构数组(带有tzh_typecnt条目)的索引;这些结构定义如下:

4. FILES(文件)

/usr/local/etc/zoneinfo

用于创建时区文件的标准目录。

5. NOTES(注意事项)

对于具有两种以上本地时间类型的地区,您可能需要在最早转换时间规则的 AT 字段中使用本地标准时间,以确保编译文件中记录的最早过渡时间是正确的。

6. SEE ALSO(另请参阅)

tzfile(5)   zdump(8)

7. COLOPHON(书籍的末页,出版社名称)

此页面是Linux man-pages项目4.04版本的一部分。项目描述、bug报告以及此页面的最新版本,可访问 http://www.kernel.org/doc/man-pages/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值