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
解析此格式没有问题。
我正在使用 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
解析此格式没有问题。