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

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

Susan Sarandon
Susan Sarandon原創
2024-11-30 22:45:12324瀏覽

How Can I Convert Local Time Strings to UTC in Python?

將本地時間字串轉換為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中文網其他相關文章!

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