Python 時區轉換解釋
跨不同時區轉換時間是 Python 中常見的任務。本問題探討如何有效地執行此轉換。
建議的方法是將感興趣的時間轉換為 UTC 感知的日期時間物件。這是因為 Python 中的 datetime 物件本身並不包含時區資訊。
時間採用 UTC 格式後,您可以使用 astimezone 函數將其轉換為所需的時區。例如,請考慮以下程式碼:
<code class="python">from datetime import datetime import pytz utcmoment_naive = datetime.utcnow() utcmoment = utcmoment_naive.replace(tzinfo=pytz.utc)</code>
這會將目前 UTC 時間轉換為 UTC 感知的日期時間物件。要轉換為特定時區,請使用以下命令:
<code class="python">localDatetime = utcmoment.astimezone(pytz.timezone('America/Los_Angeles'))</code>
這會將 UTC 時間轉換為洛杉磯的太平洋時間 (PT)。
在時間可能不存在的情況下由於夏令時或其他因素而轉換的時區,您可以使用以下方法:
<code class="python">localmoment_naive = datetime.strptime('2013-09-06 14:05:10', '%Y-%m-%d %H:%M:%S') localtimezone = pytz.timezone('Australia/Adelaide') try: localmoment = localtimezone.localize(localmoment_naive, is_dst=None) print("Time exists") utcmoment = localmoment.astimezone(pytz.utc) except pytz.exceptions.NonExistentTimeError as e: print("NonExistentTimeError")</code>
此嘗試將本地時間轉換為UTC,處理由於夏令時時間可能不存在的可能性時間。
以上是如何在 Python 中轉換時區:綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!