在Python 中,strptime() 方法是將時間戳字串轉換為日期時間物件的可行選項。然而,在嘗試處理時間偏移時遇到錯誤通常會導致失敗。本文旨在闡明這個特定問題並提供可行的解決方案。
處理包含時間偏移的時間戳時,在 strptime() 的格式字串中使用 %z 可能並不總是能產生所需的結果。這是因為底層 time.strptime() 函數缺乏對此特定格式程式碼的支援。為了克服這個挑戰,請考慮探索替代方法:
解析期間忽略時區:
如果時區資訊對您的應用程式並不重要,請解析時間戳記不考慮偏移量的字串是一個簡單的解決方案。要實現此目的,只需在調用strptime() 之前截斷時間字串以刪除偏移量:
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
利用dateutil 模組:
from dateutil.parser import parse time_obj = parse(time_str)
對於情況當您需要時區詳細資訊時,dateutil 模組提供了一個有價值的工具。它的parse() 函數有效地處理時區,讓您可以取得所需的日期時間物件:
datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')
以上是如何在 Python 中將帶有時間偏移的時間戳記轉換為日期時間物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!