如图,我想对 if 下面的这一段代码进行一个封装,但是我想在封装的代码中添加一个异常判断,判断传入的参数是否是日期格式的,想请教一下大神应该怎么判断
你可以自己定义几个常用的格式,然后去比对,或者用正则的方式去比较,
下面是正则,参考:
年-月-日:
([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
用type(date) == str判断是不是字符串,用type(date)==datetime.date判断是不是日期格式。
判断字符串格式是不是正确,可以直接用
try:
dt = datetime.datetime.strptime(date, "%Y-%m-%d")
except Exception,e:
print "格式不对"