将本地时间字符串转换为 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中文网其他相关文章!