Как я могу совместить дату и время с информацией о часовом поясе в Python?
У меня есть дата и время, когда я пытаюсь объединиться в Python. Время информировано о часовом поясе.
Однако, когда я пытаюсь их объединить, я получаю неправильное время.
import pytz
from datetime import time, date
NYC_TIME = pytz.timezone('America/New_York')
start_date = date(2012, 7, 7)
start_time = time(hour = 0, tzinfo = NYC_TIME)
combined = datetime.combine(start_date, start_time)
print combined
print NYC_TIME.normalize(combined)
Отпечатает 2012-07-07 00:00:00-05:00
, который нормализуется до 2012-07-07 01:00:00-04:00
. Почему это происходит? Как я могу избежать этого?
Ответы
Ответ 1
Время, не привязанное к дате, должно принимать это не в период летнего времени. Когда вы присоедините дату к нему, это предположение можно исправить. Смещение зоны изменяется, и время также изменяется, чтобы сохранить его в том же эквиваленте UTC.