Как проверить, может ли строка быть разобрана с датой?
- 19 января 1990 г.
- 19 января 1990 г.
- Январь 19,1990
- 01/19/1990
- 01/19/90
- 1990
- Январь 1990
- January1990
Это все допустимые даты. Если есть какая-либо озабоченность в связи с отсутствием места между вещами в элементе № 3 и последним пунктом выше, это может быть легко устранено путем автоматической вставки пробела между буквами/символами и цифрами, если это необходимо.
Но сначала основы:
Я попытался поместить его в if statement
:
if datetime.strptime(item, '%Y') or datetime.strptime(item, '%b %d %y') or datetime.strptime(item, '%b %d %Y') or datetime.strptime(item, '%B %d %y') or datetime.strptime(item, '%B %d %Y'):
Но это в блоке try-except и продолжает возвращать что-то вроде этого:
16343 time data 'JUNE1890' does not match format '%Y'
Если это не так, оно встретило первое условие в инструкции if
.
Чтобы уточнить, мне действительно не нужно значение даты - я просто хочу знать, если это так. В идеале это было бы примерно так:
if item is date:
print date
else:
print "Not a date"
Есть ли способ сделать это?