Parser.parse 更改为错误的时区

Parser.parse changes to wrong time zone

我正在使用 from dateutil import parser 来解析输入,但由于某种原因,它给我返回了错误的时区。

我的代码: parser.parse(input_date)

输入:Tue May 01 2018 13:23:00 GMT+0200 (CEST)

输出:2018-05-01 13:23:00-02:00

有人知道为什么解析方法将 +2 时区更改为 -2 吗?

这被解释为 POSIX 样式偏移,其指定方式与您的预期相反。参见 the documentation on tzstr

可以看到在tracker上issue #70开启了处理这个

目前,您的最佳选择取决于您的数据。如果您自己生成字符串,将它们更改为不同的格式是最简单的选择。如果您正在解析任意字符串,编写自定义 tzinfos 函数或手动检测这种情况并在事后更正它可能是您的最佳选择。

因为这个问题在 github 上开放,正如 Paul 所说,我必须制定一个自定义解决方案。我使用 re 解析输入并将其更改为: Tue May 01 2018 13:23:00 GMT+0200 (CEST)Tue May 01 2018 13:23:00 +0200, dateutil.parser.parse 解析此格式没有问题。