【问题标题】:Parser.parse changes to wrong time zone [duplicate]Parser.parse 更改为错误的时区 [重复]
【发布时间】:2018-04-11 11:35:21
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: python python-2.7 python-dateutil


    【解决方案1】:

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

    你可以看到处理这个是在追踪器上打开issue #70

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-22
        • 2014-11-23
        • 2016-02-08
        • 1970-01-01
        • 2012-12-13
        • 1970-01-01
        相关资源
        最近更新 更多