gpt4 book ai didi

linux - 时区数据库和 DST

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:13 27 4
gpt4 key购买 nike

根据Busybox FAQ ,时区的管理方式取决于我系统的 libc。对于我的嵌入式系统,如果我想更改时区,我需要创建一个从 /etc/localtime 到 TZ 数据库文件的符号链接(symbolic link),如下所示:

/etc/localtime ->/usr/share/zoneinfo/Etc/GMT+2

我的问题是关于 TZ 数据库。

比方说,Asia/JerusalemEtc/GMT+2 之间有什么区别,因为它无论如何都在时区 GMT+2 中? .或者; Australia/MelbourneGMT+11 有什么区别?

我注意到说,例如墨尔本,一年中有 6 个月处于 GMT+11,其余 6 个月处于 GMT+10年度最佳。

这就是符号链接(symbolic link)到 TZ 数据库中的城市名称 和链接到 GMT 版本(例如 Etc/GMT+11)之间的区别吗?链接到城市名称是否意味着会自动处理 DST 调整,但对于 GMT 版本则不然?

非常感谢你们!

最佳答案

注意:由于您是在 Busybox 的上下文中询问的,所以这不完全是 on-topic for Stackoverflow .不过,我还是继续回答吧,因为这里还有很多其他与编程相关的关于 TZ 数据库的问题,这适用于一般情况。

Asia/Jerusalem 等命名时区反射(reflect)了地理区域的时间。引用点通常(但不总是)一个城市,它通常(但不总是)该地区人口最多的城市 - 不一定是首都。

在此地理区域内,跟踪所有时区更改历史。这包括夏令时更改和基准偏移量更改。一个时区在其历史上可能有许多变化。您可以在 tzdb 源代码中查看这些更改的丰富细节。例如,here is the entry for Israel .

Etc/GMT-2 这样的固定偏移条目主要在 TZDB 中用于向后兼容目的。您会在 etcetera file 中找到它们.它们不针对任何特定地理区域,因此没有任何夏令时规则。

另请注意,因为它们是为向后兼容旧 POSIX 标准而创建的,所以这些偏移量的符号与它们通常的符号相反。因此,Asia/Jerusalem 在标准时间实际上与 Etc/GMT-2 对齐,在白天时间与 Etc/GMT-3 对齐。

一般来说,您应该只使用指定的时区。您可以找到它们的列表 on Wikipedia .

关于linux - 时区数据库和 DST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com