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')) # 还未发生的标准输入格式

运行结果:

对应着五个输出哦~

代码:import datetimefrom datetime import datedef verify_datetime(datetime_str): # 判断输入是否有非法字符或者长度是否为8个数字 if datetime_str.isdigit() == False or len(datetime_str) != 8: print("输入格式不合法!请按照样例格式输入日期!") return False # 比较日期格 if len(b) >= 2: time.strptime(strdate, "%Y-%m-%d %H:%M:%S") # time.strptime(check_date[ck_field], "Y年%m-%d %H:%M:%S") elif 0 < len(b) < 2: time.strptime( day = int(date[1]) year = int(date[2]) if month is 1 | month is 3 | month is 5 | month is 7 | month is 8 | month is 10 | month is 12: if day > 31: 判断字符串是否只包含数字: 1.str.isdecimal() 如果 str 只包含全角数字则返回 True 2.str.isdigit() 如果 str只包含全角数字、unicode 编码的数字字符串 例如⑴、\u00b2此类型则返回 True 3.str.isnumeric() 如果 str只包含数字(全角、半角)则返回 True 判断字符串是否只包含数字: print(bool(re.search(r'\d', "123
本文实例总结了python日期时间格式化输出的方法。分享给大家供大家参考。具体分析如下: python格式日期时间的函数为datetime.datetime.strftime();由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间格式化字符串,这里提供详细的代码详细演示了每一个参数的使用方法及范例。 下面是格式日期时间时可用的替换符号 %a 输出当前是星期几的英文简写 >>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%a') 4.天数不能超出输入的当月的最大值且不能小于1,请重新录入 注意:(闰年2月有29天,平年2月有28天) 5. 输出截止month月day日,year年已经过去了?天(当天不算过去了) import java.util.Scann...