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

16 投票
3 回答
24825 浏览
提问于 2025-04-15 18:59

我想让用户输入一个日期,类似这样的:

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

然后我需要确保这个输入的日期是有效的。我对日期的格式其实没那么在意。

谢谢大家的帮助。

3 个回答

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
3
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

在程序中使用之前定义的函数:

27

你可以使用 time 模块里的 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

撰写回答