如何在Python 3.x中验证日期?

时间:2010-02-07 07:14:00

标签: python validation date python-3.x

我想让用户输入日期,例如:

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

然后确保输入是有效日期。我对日期格式并不是那么在意。

感谢您的任何意见。

3 个答案:

答案 0 :(得分:27)

您可以使用time module's 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

答案 1 :(得分:2)

Max S.,

感谢您的代码。以下是我实施它的方法:

while True:
    date = input('Date (m/dd/yyyy): ')
        try:
            date = time.strptime(date, '%m/%d/%Y')
            break
        except ValueError:
            print('Invalid date!')
            continue

答案 2 :(得分: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