Python 如何调整时区?

Python 如何调整时区?,python,datetime,python-2.7,Python,Datetime,Python 2.7,我将日期时间存储在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('

我将日期时间存储在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)。这里缺少什么?

将日期字符串本地化为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
不转换日期时间,它将日期字符串解释为在该时区中写入<代码>本地化从原始日期时间(例如
timeUTC
)构建时区感知的日期时间
astimezone
将时区感知的日期时间转换为其他时区。

这就像一个符咒一样有效(尽管我不确定它是否尽可能直观…),谢谢!