0

我正在尝试将 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)
4

0 回答 0