【问题标题】:How to use arrow's string parsing, and simultaneously set a timezone?如何使用箭头的字符串解析,同时设置时区?
【发布时间】:2017-09-25 16:49:32
【问题描述】:

我想使用arrow 从字符串中解析日期。我通过the documented way

>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss')
<Arrow [2013-05-05T12:30:45+00:00]>

字符串使用时区+00:00 进行解析。 是否可以为此字符串强制使用另一个时区?

之后转换为当地时区

>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss').to('local')
<Arrow [2013-05-05T14:30:45+02:00]>

不是正确的解决方案,因为日期首先解析为 +00:00,然后转换为另一个时区 - 并且相应地修改小时(这是 .to() 的预期行为)

【问题讨论】:

  • 不确定,但从文档中你可以通过tzinfo=tz.tzlocal()
  • @dnit13:你是对的。我没有意识到在解析字符串时可以添加tzinfo(尽管我应该尝试过)。如果可以,请将您的评论变成答案,我很乐意接受。

标签: python datetime python-arrow


【解决方案1】:

Passingtzinfo=tz.tzlocal() 在 get 方法中会做到这一点:

>>> import arrow
>>> from dateutil import tz
>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss', tzinfo=tz.tzlocal())
<Arrow [2013-05-05T12:30:45+02:00]>

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多