1

我遇到了一个从 glibc 到 uclibc 的时区字符串的映射文件。它看起来像这样:

非洲/阿比让=GMT0
非洲/阿克拉=GMT0
非洲/亚的斯亚贝巴=EAT-3
非洲/阿尔及尔=CET-1
...

这个文件已经很老了(4 年),并且在 glibc 上添加了几个新的 TimeZone。但是,我找不到最新的映射文件。映射文件有 451 个条目,因为这些天支持的总时区字符串超过 900 个。是否有相同的更新映射文件?

4

1 回答 1

1

根据您提供的数据,左侧似乎是IANA/Olson 时区标识符您可以在 Wikipedia 上查看这些区域及其偏移量的粗略列表。

右侧似乎是时区缩写和该区域的标准偏移量,其符号倒置。这可能是 POSIX 样式的时区字符串。我不知道,因为你只提供了一个小样本。

您可以在时区标签 wiki中阅读有关这两者的更多信息。请务必阅读有关 POSIX 时区的限制。

一些搜索发现了这个线程,他们在其中讨论 uclibc 仅支持 POSIX 时区。如果您使用的是 buildroot,您可以查看“tzdata”包是否适合您,但我不确定它是否适合。如果是这样,您将使用与 glibc 相同的方式使用TZ 变量设置(请参阅页面底部的最后一个选项)。

至于将 IANA 映射到 POSIX 区域 - 您拥有的任何列表都将受限于当前时区规则,然后仍然不一定涵盖所有内容。只有 IANA 区域是全面的。它也将是一种单向映射。你不能去另一个方向。我搜索了,但没有找到此映射的直接来源。如果你找到了,请告诉我。

于 2013-09-03T13:10:07.953 回答