从 UTC 到欧洲/华沙的时间转换

问题描述

我正在尝试将 UTC 时间转换为欧洲/华沙时间。华沙时间现在是 UTC + 2 小时。我不知道为什么我会提前 30 分钟得到结果。我正在解析类似于以下字符串的日期:7:27:02 AM 或 2:16:28 PM。

print(time_str) #6:47:46 PM
format = '%I:%M:%s %p'
time_obj = datetime.strptime(time_str,format)
utc_time = time_obj.replace(tzinfo=ZoneInfo('Etc/UTC'))
converted_time = utc_time.astimezone(tz=ZoneInfo('Europe/Warsaw')).time()

print(utc_time.time(),converted_time)

输出

6:47:46 PM
18:47:46
20:11:46

虽然我期望:

6:47:46 PM
18:47:46
20:47:46

编辑 - 这一行修复了它:

time_obj = datetime.strptime(time_str,format).replace(year=2021,month=7,day=14)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)