У меня есть список дат без информации о часовом поясе, однако я знаю часовой пояс и тот факт, что они являются локальными. Я хочу преобразовать в стандартное время, чтобы выполнить анализ часового пояса.Переход на летнее время в неправильное время
В Сиднее дневной свет заканчивается в 3 часа ночи, поэтому первые 5 строк должны быть на +11: 00 DST, а остаток +10: 00 STD. Результат, который я получаю, это первая строка: +11: 00 DST, а остальная - +10: 00 STD.
Есть ли встроенный способ локализации списка дат, учитывая, что я знаю, что они отсортированы. Похоже, вы должны знать, если is_dst = True или is_dst = False, чтобы справиться с перекрытием.
С уважением Дэйв
import pytz
times = [
datetime(2013,4,7,1,45,0)
,datetime(2013,4,7,2,0,0)
,datetime(2013,4,7,2,15,0)
,datetime(2013,4,7,2,30,0)
,datetime(2013,4,7,2,45,0)
,datetime(2013,4,7,2,00,0)
,datetime(2013,4,7,2,15,0)
,datetime(2013,4,7,2,30,0)
]
#
timezone = pytz.timezone('Australia/Sydney')
localized = map(timezone.localize, times)
for t,l in zip(times, localized):
print(t,l)
У вас есть взгляд на datetime.isoformat()? Это может помочь вам. –
Нет, я проверю это. Я понял, что могу добиться того, чего хочу, передав is_dst = True до тех пор, пока не удару по второму экземпляру 2:00 утра, поэтому я создал обходной путь, где я просматриваю даты. В первый раз, когда я сталкиваюсь с датой, я устанавливаю is_dst = True, а второй - False. – user2981639