我使用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
吗?
答案 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 +0200
,dateutil.parser.parse
解析此格式没有问题。