【发布时间】:2020-08-30 21:17:18
【问题描述】:
我似乎遇到了一个奇怪的问题。也许这是 Python 中的一个错误,但如果是,我会感到惊讶。
我正在尝试通过第一个时区信息将天真的日期时间转换为 UTC:
import datetime
from pytz import timezone
naive_datetime = datetime.datetime.now()
local_datetime = naive_datetime.replace(tzinfo=timezone('Europe/London'))
utc_datetime = local_datetime.astimezone(timezone('UTC'))
print("Naive datetime:", naive_datetime)
print("Local datetime:", local_datetime)
print("UTC datetime: ", utc_datetime)
这是输出:
Naive datetime: 2020-05-14 11:46:44.637956
Local datetime: 2020-05-14 11:46:44.637956-00:01
UTC datetime: 2020-05-14 11:47:44.637956+00:00
请注意,添加“欧洲/伦敦”的“本地时区”会增加 -1 分钟的偏移量,而不是我预期的 +1 小时,导致原始时间的“UTC”时间 +1 分钟而不是 -1 小时.
为什么要添加一分钟偏移量,我如何让它达到我的预期?
【问题讨论】: