2012-05-27 32 views
2

如何使用python3將時間字符串(如Sun May 27 13:02:04 +0200 2012)解析爲UTC中的元組?我能得到的最接近的是time.strptime(str, '%a %b %d %H:%M:%S %z %Y'),但它似乎偏移被解析,但被忽略。上面的例子被解析到:Python 3 - 帶時間偏移量的分析時間字符串

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

相關:Convert string timestamp (with timezone offset) to local time. . ? pythonParsing time string in Python。兩者的答案都暗示了使用dateutil,但如果可能的話,我寧願使用標準庫。

回答

2

tm_hour = 11會不正確。時間戳中的時間是13:02:04,不管偏移量是多少。

你想要做的是將該時間戳轉換爲格林尼治標準時間,標準庫不會爲你做。所以你只需要自己提取偏移量(這是微不足道的),然後從時間中減去它。

我也建議您使用日期時間庫,日期/時間操作更容易在那裏,您可以輕鬆地創建一個timedelta對象從偏移量,並從日期時間對象中減去。

相關問題