使日期時間對象時區感知
處理時區不感知的日期時間對象時,有必要分配一個時區以將它們與時區進行比較- 認識的同儕。幸運的是,Python 提供了多種方法來解決這個問題。
在一般情況下使用 localize()
對於一般情況,localize() 方法是首選方法。它透過指定所需的時區來創建一個新的時區感知日期時間對象:
import datetime import pytz unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0) now_aware = pytz.utc.localize(unaware)
對UTC 時區使用Replace()
在UTC 時區的特定情況下,不遵守夏令時,replace()方法提供了更直接的方法解決方案:
now_aware = unaware.replace(tzinfo=pytz.UTC)
選擇預設時區
處理沒有時區資訊的遺留資料時,可以指派預設時區。然而,這帶來了時間表示不準確的風險。如果假設資料採用 UTC 格式,那麼使用 pytz.UTC 作為預設時區可能是可接受的妥協。
比較和意義
這裡有一個重要的注意:預設為特定時區是一個臨時解決方案,不應擴展到新情況。建議的最佳實踐是確保所有日期時間對像都明確指定其時區,以避免任何潛在的差異。
以上是如何讓 Python 的「datetime」物件了解時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!