Parser.parse更改为错误的时区

时间:2018-04-11 11:35:21

标签: python python-2.7 python-dateutil

我使用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吗?

2 个答案:

答案 0 :(得分:1)

它被解释为POSIX样式偏移量,其指定方式与您期望的方式相反。请参阅the documentation on tzstr

您可以看到处理此问题的方法是在跟踪器上打开issue #70

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

答案 1 :(得分:0)

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