首頁 >後端開發 >Python教學 >如何在 Python 中將 UTC 日期時間字串轉換為本機時區?

如何在 Python 中將 UTC 日期時間字串轉換為本機時區?

Barbara Streisand
Barbara Streisand原創
2024-11-30 10:32:13477瀏覽

How to Convert UTC Datetime Strings to Local Timezones in Python?

將UTC 日期時間字串轉換為本地日期時間

問題:

如何

問題:

如何

問題:

如何問轉換UTC日期時間字串(以字串形式儲存在App Engine 的Bigtable中)轉換為最終使用者的正確時區?

from datetime import datetime
from dateutil import tz

# Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# Create a datetime object from the UTC string
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Convert the datetime object to UTC timezone
utc = utc.replace(tzinfo=from_zone)

# Convert the datetime object to the user's timezone
local = utc.astimezone(to_zone)
答案:

要將 UTC 日期時間字串轉換為使用者正確時區的日期時間,可以使用 python-dateutil 函式庫。該庫在 zoneinfo (Olson) 資料庫之上提供 tzinfo 實現,允許透過規範名稱輕鬆引用時區規則。

  • 實作:
  • 時區的建議儲存資訊:

「-5:00」或「EST」:
import pytz
est = pytz.timezone("America/New_York")
est_name = est.zone
此方法很簡單,但有局限性,因為它假設使用者時區的恆定偏移量。 規範名稱:使用 Olson 資料庫中的規範名稱更加靈活,時區感知,因為它考慮了時區的歷史變化。 python-dateutil 函式庫允許透過規範名稱引用時區。 例如,可以使用以下指令將「-5:00」轉換為「America/New_York」:

以上是如何在 Python 中將 UTC 日期時間字串轉換為本機時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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