... без получения текущей даты или установки даты по умолчанию?
Я предполагаю, что вы имеете в виду без получения текущей год .Ответ: нет, это невозможно.Значения datetime.datetime
и datetime.date
должны включать год целых чисел.Это не подлежит обсуждению.
Вы, конечно, можете указать год в своем вводе или изменить его впоследствии:
from dateutil import parser
search = '10/02'
dt1 = parser.parse(search, dayfirst=True).date() # datetime.date(2018, 2, 10)
dt2 = parser.parse(search + '/2017', dayfirst=True).date() # datetime.date(2017, 2, 10)
dt1 = dt1.replace(year=2016) # datetime.date(2016, 2, 10)
Или заранее проверить, что указана датане содержит год?
Я не верю, что есть какая-либо функциональность, чтобы проверить, указали ли вы год в строке.Возможно, вам придется написать пользовательские тесты для этого.parser.parse
будет работать с тем, что у вас есть, и попытаться заполнить все пробелы.