如何调整时区?

2024-05-19 02:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我将日期时间存储在UTC中,如下所示:

import pytz, datetime

timeUTC = datetime.datetime(2013, 5, 23, 19, 27, 50, 0)
timezoneLocal = pytz.timezone('Europe/Vilnius')

timeLocal = timezoneLocal.localize(timeUTC)

但当我试着打印时,它只给了我正常的UTC时间

>>> timeLocal.strftime('%H:%M:%S')
'19:27:50'

我希望返回'22:27:50',因为这是本地时间(pytz.timezone('Europe/Vilnius')现在是+3)。我错过了什么?


Tags: importdatetime时间utctimezoneeuropepytzstrftime
1条回答
网友
1楼 · 发布于 2024-05-19 02:28:35

将日期字符串本地化为UTC日期时间,然后使用astimezone将其转换为本地时区。

import pytz, datetime

timeUTC = datetime.datetime(2013, 5, 23, 19, 27, 50, 0)
timezoneLocal = pytz.timezone('Europe/Vilnius')
utc = pytz.utc
timeLocal = utc.localize(timeUTC).astimezone(timezoneLocal)
print(timeLocal)
# 2013-05-23 22:27:50+03:00

localize转换日期时间,它将日期字符串解释为它是在该时区中写入的。localize从原始日期时间(例如timeUTC)构建一个时区感知的日期时间。astimezone将支持时区的日期时间转换为其他时区。

相关问题 更多 >

    热门问题