我想定义一个函数来检查输入是否是日期。如果输入不是我希望它说的日期:抱歉再试一次,如果是日期我需要程序停止。我尝试了很多东西,但没有一个工作,我没有我尝试过的代码,因为我删除了这个功能。
答案 0 :(得分:6)
使用datetime
库:
import datetime
def validate(date_text):
try:
datetime.datetime.strptime(date_text, '%Y-%m-%d')
except ValueError:
raise ValueError("Incorrect data format, should be YYYY-MM-DD")
比那样验证:
validate('2015-08-18')
答案 1 :(得分:0)
您可以使用dateutil
模块,看看是否可以转换输入,如果不打印try again
from dateutil.parser import parse
def validate_string(inp_string):
try:
parse(inp_string)
print "yes"
except :
print "Wrong try again"
validate_string("asd")
<强>输出:强>
validate_string("asd")
Wrong try again
validate_string('2015-01-1')
yes