首頁  >  文章  >  後端開發  >  如何在 Python 中轉換時區:綜合指南

如何在 Python 中轉換時區:綜合指南

Susan Sarandon
Susan Sarandon原創
2024-10-26 06:38:02192瀏覽

How to Convert Timezones in Python: A Comprehensive Guide

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>

這會將目前 U​​TC 時間轉換為 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn