Ответ 1
Локализовать строку даты как дату и время 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
не преобразует datetimes, он интерпретирует строку даты так, как если бы она была написана в этом часовом поясе. localize
строит дату и время, зависящие от времени, из наивного datetime (например, timeUTC
). astimezone
преобразует временные интервалы, относящиеся к часовому поясу, к другим часовым поясам.