Найти - Пользователи
Полная версия: Перевод UTC в локальное время
Начало » Python для экспертов » Перевод UTC в локальное время
1
Александер
Добрые люди, подскажите пожалуйста, каким образо можно из UTC-шного времени получить время в своей временной зоне?

Есть кортеж (2008, 10, 10, 12, 15, 30) например, это гринвичское время, надо получить сколько в Киеве, с учетом DST.
usmix
#-*- encoding: cp1251 -*-

from pytz import timezone
from datetime import datetime

utctimetuple = (2008, 10, 10, 12, 15, 30)
utctime = datetime(*utctimetuple, tzinfo=timezone("Europe/London")) # Здесь нужно указать tzinfo

tz = timezone("Europe/Kiev") # Создаем нужный нам TimeZone
localtime = tz.fromutc(utctime.replace(tzinfo=tz)) # Меняем TimeZone

print 'UTC Time: ', utctime, utctime.tzinfo, 'DST', utctime.dst()
print 'Local Time:', localtime, localtime.tzinfo, 'DST', localtime.dst()
Результат:
UTC Time:  2008-10-10 12:15:30+00:00 Europe/London DST 0:00:00
Local Time: 2008-10-10 15:15:30+03:00 Europe/Kiev DST 1:00:00
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB