2

如何Sun May 27 13:02:04 +0200 2012使用 python3 将时间字符串(例如 UTC)解析为 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,但如果可能的话,我更喜欢使用标准库。

4

1 回答 1

2

tm_hour=11 是不正确的。无论偏移量是多少,时间戳中的时间都是 13:02:04。

您想要做的是将该时间戳转换为 GMT 时间,标准库不会为您执行此操作。所以你只需要自己提取偏移量(这很简单),然后从时间中减去它。

我还建议您为此使用 datetime 库,日期/时间操作在那里更容易,您可以轻松地从偏移量创建一个 timedelta 对象并从 datetime 对象中减去它。

于 2012-05-27T19:35:58.133 回答