Я какое-то время оглядывался по сторонам, пытаясь найти разные варианты принятых ответов, но они слишком неуместны для моих собственных нужд, и 90% требуют статической типизации текущей даты, чего я не хочу делать
Контекст
Довольно просто.
Получить текущее время в Испании.
Уже установлена переменная, согласованнаявремя начала.
Имейте уже установленную переменную, которая является согласованным временем окончания.
Если текущее время в Испании находится между временем начала и начала, продолжите сохранение журналов
Потоки проверены на решение моей проблемы
Все бесполезно, недооценено или неактуально из-за статической типизации datetime
Текущее время Python
Сравнить даты Python
Преобразовать строку в дату и время
Сравнить дату и дату и время
Проверьте, если время между двумя днями
Преобразовать строкув datetime
Сравните, если datetime.timedelta находится между двумя значениями
Код пока
now_time_uk = datetime.datetime.now()
current_time_spain = now_time + datetime.timedelta(hours=1)
start = datetime.time(10, 50)
end = datetime.time(16, 00)
if current_time_spain >= start or current_time_spain <= end:
print('Start logging')
else:
print('No need to log')
Приведенный выше код был извлечен из потока на SO, который был принятым ответом. Когда я запускал его, он выдает ошибку TypeError
TypeError: can't compare datetime.datetime to datetime.time
Код принятого ответа
now_time_uk = datetime.datetime.now()
print(now_time_uk)
current_time_spain = now_time_uk + datetime.timedelta(hours=1)
start = datetime.time(10, 50)
end = datetime.time(17, 00)
print(current_time_spain.time())
if current_time_spain.time() >= start and current_time_spain.time() <= end:
print('Start logging')
else:
print('No need to log')