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

我有

import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'

我怎样才能解析这个箭头,使我得到一个箭头对象的时区tz ? 以下内容默认为UTC时间。

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

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


尝试这个:

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

我还没有资格添加评论,只想与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)

或只是当地时区:

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

或指定ISO-8601风格:

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

根据当前文档,您还可以提供arrow.get()的默认时区,例如:

s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
arrow.get(s, tzinfo=tz)

但是,现在(版本0.12.1)有一个缺点,那就是不适用于基于字符串的日期分析。 幸运的是,这个问题已得到解决,因此Arrow的下一个版本将整合此修复程序。

链接地址: http://www.djcxy.com/p/6993.html

上一篇: Parse date and time from string with time zone using Arrow

下一篇: How do I create a constant in Python?