In:
CurrentDate = datetime.datetime.strptime(CurrentDate, "%Y-%m-%d %H:%M")
CurrentDate
- это уже datetime.date
объект, созданный выше:
CurrentDate = datetime.datetime.now().date()
и никогда не измененный на что-либо еще. Так что вам не нужно разбирать его, он уже "разобран". Просто удалите строку, пытаясь ее проанализировать.
Тем не менее, это просто date
, и вы сравниваете ее с datetime
s в определенный c день; работает он или нет, он не будет делать то, что вы, вероятно, пытаетесь сделать (определите, находится ли текущее время между 1600 и 2000). Вам не нужно разбирать строки, чтобы сделать это вообще; весь ваш блок тестирования кода на попадание или промах может упроститься до:
if datetime.time(16) <= datetime.datetime.now().time() <= datetime.time(20):
print("Hit")
else:
print("Miss!")
, поскольку вы заботитесь только о компоненте времени, а не о компоненте даты вообще.