Как получить ошибку значения datetime в python для оператора if
В настоящее время я делаю приложение для назначений в качестве хобби и работаю над частью моего приложения, где когда пользователь нажимает на день, он возвращает все назначенные встречи на этот день.
Я использую datetime в фильтре django и заметил небольшую ошибку.
ValueError: day is out of range for month
Вкратце мой код выглядит так:
dateArr = selected_date.split('-')
startDate = datetime.datetime(int(dateArr[0]), int(dateArr[1]), int(dateArr[2]), 0, 0, 0, tzinfo=timezone.utc)
endDate = datetime.datetime(int(dateArr[0]), int(dateArr[1]), int(dateArr[2]) + 1, 0, 0, 0, tzinfo=timezone.utc)
Я знаю, что могу написать вспомогательную функцию, которая проверяет, последний ли это день месяца, а затем также добавляет 1 к месяцу или сбрасывает месяц на 1, если он 31 декабря.
Но есть ли способ получить код значения для ошибок времени суток, чтобы использовать его в операторе if?
Я просмотрел документацию, но ничего не нашел. возможно, коды значений - это особенность python, и мне следует искать в другом месте?
заранее спасибо!
РЕДАКТИРОВАНИЕ***
Думаю, я нашел ответ на свой собственный вопрос здесь - https://docs.python.org/3/tutorial/errors.html - для всех из будущего.
Вы можете использовать try и except
try:
print(x)
except:
print("An exception occurred")
Подскажите, как вы работаете с Datetime и каков ожидаемый результат. Я уже делал подобное.