Как получить ошибку значения 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 и каков ожидаемый результат. Я уже делал подобное.

Вернуться на верх