gpt4 book ai didi

windows - Linux-Windows 时区映射?

转载 作者:IT王子 更新时间:2023-10-28 23:57:09 30 4
gpt4 key购买 nike

Windows 中所有时区的显示方式如下

(GMT+10:00) 堪培拉、墨尔本、悉尼,

GMT 和 Offset 以及地点。反过来,Linux 将每个时区作为/usr/share/zoneinfo/[Continent]/[Place] 中的目录映射。

我需要为我的应用程序将每个 Windows 时区映射到 Linux 时区。喜欢

(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi => Asia/Calcutta

现在问题表面为 International Date Line West它位于俄罗斯和美国之间。在 Windows 中,它以 (GMT-12:00) International Date Line West 为标志,我从各种来源发现在 Linux 中它是 Etc/GMT+12。

(GMT-12:00) International Date Line West => Etc/GMT+12

还有

(GMT+12:00) Coordinated Universal Time+12 => Etc/GMT-12
(GMT-02:00) Coordinated Universal Time-02 => Etc/GMT+2
(GMT-11:00) Coordinated Universal Time-11 => Etc/GMT+11

这让我感到困惑,我的应用程序与 Timestamp w.r.t UTC 和 UTC offset 密切配合。所以这个映射让我和应用程序感到困惑。

谁能解释为什么同一个地方的 -12 和 +12 Offset 反之亦然?

提前致谢:)

最佳答案

Unicode.org 托管映射作为 CLDR 的一部分。 You can get to the latest version here .还有从该页面链接的数据的 XML 版本。

您可以找到有关如何从 XML 数据生成映射的示例代码(在 Python 中)here .

强制性时区咆哮:

请注意,在 Windows 中实现时区支持的人吸毒了。我不是在开玩笑。查看时区名称。为什么中欧时间被称为“浪漫标准时间”。浪漫?什么,因为它包括巴黎,或者?罗马标准时间可能是有道理的,因为它也包括罗马,但是浪漫!?

此外,在注册表中,时区不在其 id 下组织。不,他们疯狂地以他们的显示名称组织起来!由于它是本地化的,这意味着每个时区都将位于不同 Windows 翻译中的不同键下!!!因此,要找到正确的时区,您必须查看所有时区以查看哪个时区具有正确的 ID。

我也有示例代码 here .请参阅 get_win_timezone() 函数。

我想知道是不是设计这个的人决定 POSIX 应该反转时区符号,所以 -8 小时意味着 8 小时。无论如何,我敢肯定他们一起抽的是非法的东西。

关于windows - Linux-Windows 时区映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4967903/

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