Подтвердить что ты не робот

Как проверить дату в Python 3.x?

Я хотел бы, чтобы пользователь вводил дату, что-то вроде:

date = input('Date (m/dd/yyyy): ')

а затем убедитесь, что ввод является допустимой датой. Мне не очень нравится формат даты.

Спасибо за любой ввод.

4b9b3361

Ответ 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