[英]Parse date and time from string with time zone using Arrow
我有
import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
我怎样才能用 Arrow 解析这个,这样我才能得到一个时区为tz
的 Arrow 对象? 以下默认为 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))
我还没有资格添加评论,只想用时区 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')
从 0.10.0 开始,这对我有用:
import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
arrow.get(s, 'YYYY/M/D HH:mm:ss', tzinfo=tz)
# <Arrow [2015-12-01T19:00:00+08:00]>
但是, arrow.get('2018-01-29 14:46', tzinfo='US/Central')
(即没有格式字符串)忽略了tzinfo
参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.