Как проверить дату в Python 3.x?
Я хотел бы, чтобы пользователь вводил дату, что-то вроде:
date = input('Date (m/dd/yyyy): ')
а затем убедитесь, что ввод является допустимой датой. Мне не очень нравится формат даты.
Спасибо за любой ввод.
Ответы
Ответ 1
Вы можете использовать функцию time
module strptime()
:
import time
date = input('Date (mm/dd/yyyy): ')
try:
valid_date = time.strptime(date, '%m/%d/%Y')
except ValueError:
print('Invalid date!')
Обратите внимание, что в Python 2.x вам нужно использовать raw_input
вместо input
.
Ответ 2
def validDate(y, m, d):
Result = True
try:
d = datetime.date(int(y), int(m), int(d))
except ValueError, e:
Result = False
return Result
и в программе используйте функцию, определенную ранее:
if not validDate(year_file, month_file, day_file):
return 0
Ответ 3
Макс. S.,
Спасибо за код. Вот как я его реализовал:
while True:
date = input('Date (m/dd/yyyy): ')
try:
date = time.strptime(date, '%m/%d/%Y')
break
except ValueError:
print('Invalid date!')
continue