#python #datetime #time #timezone
#python #дата и время #время #Часовой пояс
Вопрос:
Я использую следующий фрагмент кода, чтобы определить, попадает ли определенное время в 2 раза (все установлено для часового пояса UTC). Однако этот код выдает исключение, в котором жалуется, что я сравниваю время, зависящее от смещения, с временем ожидания смещения. Я надеялся получить некоторое представление об этом.
currentTime = datetime.datetime.now(pytz.utc).time()
t1 = datetime.time(9, 0, 0, tzinfo=pytz.utc)
t2 = datetime.time(11, 0, 0, tzinfo=pytz.utc)
if t1 < currentTime and t2 > currentTime:
return True
return False
Комментарии:
1. Поскольку смещение от UTC зависит от часового пояса, и они меняются с годами, нет особого смысла иметь время без даты, имеющей смещение UTC. Здесь вы могли бы, например, сравнить время и смещение UTC отдельно.
Ответ №1:
Похоже, что здесь происходило то, что я терял часовой пояс при преобразовании во время.
Чтобы исправить это. Я должен был сделать следующее.
currentTime = currentTime.replace(tzinfo=pytz.UTC)