使用箭头从带有时区的字符串中解析日期和时间

mch*_*gun 10 python timezone datetime arrow-python

我有

import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
Run Code Online (Sandbox Code Playgroud)

如何用Arrow解析这个问题,以便获得带有时区的Arrow对象tz?以下默认为UTC时间.

In [30]: arrow.get(s, 'YYYY/M/D HH:mm:ss')
Out[30]: <Arrow [2015-12-01T19:00:00+00:00]>
Run Code Online (Sandbox Code Playgroud)

我知道该.to功能,但转换时区,但不允许我更改为时区.

Mat*_*int 13

试试这个:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=dateutil.tz.gettz(tz))
Run Code Online (Sandbox Code Playgroud)


Qua*_*Lai 9

我还没有资格添加评论,只想与timezone str表达式分享更简单的答案版本.

s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo=tz)
Run Code Online (Sandbox Code Playgroud)

或者只是当地时区:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo='local')
Run Code Online (Sandbox Code Playgroud)

或指定ISO-8601风格:

arrow.get(s, 'YYYY/M/D HH:mm:ss').replace(tzinfo='+08:00')
Run Code Online (Sandbox Code Playgroud)