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

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

Barbara Streisand
發布: 2024-11-30 10:32:13
原創
478 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板