python3将时间字符串(例如Sun May 27 13:02:04 +0200 2012
)解析为UTC元组?我能得到的最接近的是time.strptime(str, '%a %b %d %H:%M:%S %z %Y')
,但似乎偏移量被解析但被忽略了。上面的示例解析为:
time.struct_time(tm_year=2012, tm_mon=5, tm_mday=27, tm_hour=13, tm_min=1, tm_sec=35, tm_wday=6, tm_yday=148, tm_isdst=-1)
但我期望tm_hour=11
.
相关:将字符串时间戳(带时区偏移量)转换为本地时间。 ? python,解析 Python 中的时间字符串。这两个问题的答案都建议使用 dateutil,但如果可能的话,我更喜欢使用标准库。
tm_hour=11 是不正确的。时间戳中的时间是 13:02:04,无论偏移量是多少。
您要做的是将该时间戳转换为 GMT 时间,标准库不会为您执行此操作。因此,您只需自己提取偏移量(这是微不足道的),然后从时间中减去它。
我还建议您为此使用 datetime 库,那里的日期/时间操作要容易得多,您可以轻松地从偏移量创建一个 timedelta 对象并从日期时间对象中减去该对象。