我想让用户输入日期,例如:
date = input('Date (m/dd/yyyy): ')
然后确保输入是有效日期。我对日期格式并不是那么在意。
感谢您的任何意见。
答案 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