將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 實現,允許透過規範名稱輕鬆引用時區規則。
import pytz est = pytz.timezone("America/New_York") est_name = est.zone此方法很簡單,但有局限性,因為它假設使用者時區的恆定偏移量。 規範名稱:使用 Olson 資料庫中的規範名稱更加靈活,時區感知,因為它考慮了時區的歷史變化。 python-dateutil 函式庫允許透過規範名稱引用時區。 例如,可以使用以下指令將「-5:00」轉換為「America/New_York」:
以上是如何在 Python 中將 UTC 日期時間字串轉換為本機時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!