代码:
import datetime
from datetime import date
def verify_datetime(datetime_str):
# 判断输入是否有非法字符或者长度是否为8个数字
if datetime_str.isdigit() == False or len(datetime_str) != 8:
print("输入格式不合法!请按照样例格式输入日期!")
return False
# 比较日期格式是否正确
try:
datetime.datetime.strptime(datetime_str, '%Y%m%d')
except ValueError:
print("输入日期的格式不合法哦,请重新检查")
return False
# 比较日期是否已经发生过了
strftimenow = datetime.datetime.strptime(date.today().isoformat(), "%Y-%m-%d")
strftime = datetime.datetime.strptime(datetime_str, "%Y%m%d")
if (strftimenow < strftime) == True:
return True
else:
print("你输入的日期已发生过了阿!重写!")
return False
调用函数:
print(verify_datetime('20191127-')) # 输入含有非法字符
print(verify_datetime('20191206520')) # 输入不是8位数字长度
print(verify_datetime('20151431')) # 不存在14月,输入非法
print(verify_datetime('20121026')) # 20121026已经属于过去的日期
print(verify_datetime('20811206')) # 还未发生的标准输入格式
运行结果:
对应着五个输出哦~