將本地時間字串轉換為UTC
在某些情況下,我們可能會遇到需要將日期時間字串從本地時間轉換為UTC 的情況。為此,我們可以利用 Python 的 datetime 和 pytz 模組。
第 1 步:解析本地時間字串
首先將本地時間字串解析為簡單的日期時間目的。天真的日期時間缺乏時區資訊。
第 2 步:辨識本地時區
接下來,使用 pytz 模組來決定本地時區。根據此資訊構造一個時區物件。
第 3 步:操作與附加時區
使用 pytz.timezone() 方法建立一個表示時區的時區物件當地時區。但是,請務必注意,夏令時 (DST) 的複雜性會帶來歧義。
步驟 4:轉換為 UTC
要將日期時間轉換為 UTC,請套用astimezone() 方法轉換為局部化日期時間。此方法將日期時間調整為 UTC,同時考慮 DST 和其他時區差異。
第 5 步:格式化 UTC 字串
最後,使用 strftime() 方法將 UTC日期時間格式化為所需的字串
範例:
考慮將字串「2001-2-3 10:11:12」從本地時區「 America/Los_Angeles」轉換為UTC:
from datetime import datetime import pytz local = pytz.timezone("America/Los_Angeles") naive = datetime.strptime("2001-2-3 10:11:12", "%Y-%m-%d %H:%M:%S") local_dt = local.localize(naive, is_dst=None) utc_dt = local_dt.astimezone(pytz.utc) print(utc_dt.strftime("%Y-%m-%d %H:%M:%S")) # Output: 2001-02-03 18:11:12
以上是如何在 Python 中將本機時間字串轉換為 UTC?的詳細內容。更多資訊請關注PHP中文網其他相關文章!