使用datetime.strptime解析'12/06/16 19:33'出现异常,求正确的日期验证格式
解决日期时间解析异常的方案
嘿,问题出在年份的格式符上啦!你当前用的%Y是对应4位数字的年份(比如2016),但你的目标日期文本里年份是两位的16,这就导致解析时无法匹配,抛出异常。
正确的格式字符串
你需要把年份格式符换成%y(专门匹配两位数字的年份),正确的代码如下:
from datetime import datetime # 验证并解析日期时间 try: parsed_dt = datetime.strptime('12/06/16 19:33', '%d/%m/%y %H:%M') print(f"日期时间有效,解析结果:{parsed_dt}") except ValueError: print("该日期时间格式无效或日期本身不合法")
补充说明
%y的转换规则:Python会自动将两位年份映射为4位,其中00-69对应2000-2069,70-99对应1970-1999- 用
try-except捕获ValueError是验证日期时间有效性的标准方式,它不仅能检查格式是否匹配,还能识别诸如32/06/16这类本身不合法的日期
内容的提问来源于stack exchange,提问作者bosari
相关产品推荐
相关产品推荐

