gpt4 book ai didi

perl DateTime 不正确的时区偏移量

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:30 25 4
gpt4 key购买 nike

我有几台服务器在 centos 6.3 下运行,我遇到了 perl 模块 DateTime 将欧洲/莫斯科时区视为 UTC+3 的问题

 [ulan@rt-virtual ~]$ perl -MDateTime -e 'print DateTime->now()->set_time_zone("Europe/Moscow"), "\n";'
2013-12-19T11:11:38

但实际上它是 UTC+4 并且像 zdump 或 date 这样的系统工具可以正常工作

 [ulan@rt-virtual ~]$ zdump Europe/Moscow
Europe/Moscow Thu Dec 19 12:11:47 2013 MSK

我更新了 tzdata 和 DateTime 模块,但没有帮助。我该如何修改?谢谢。

最佳答案

好吧,DateTime 模块通过遵循每个时区特定的 TimeZone 模块中指定的规则来发挥它的魔力。对于 Europe/Moscow,模块的是 DateTime::TimeZone::Europe::Moscow。问题是所有文件都是根据特定版本的 DateTime 模块发布时存在的规则自动生成的。

在这种情况下,一个非常重要的变化 - 俄罗斯在 2011 年停止遵循 DST 例程 - 没有明显反射(reflect)在该文件中。所以更新 - 整个模块或仅相关的 TimeZone part - 应该已经解决了这个问题。

关于perl DateTime 不正确的时区偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20676921/

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