Python新手求助:字符串转日期触发ValueError错误的解决方法
解决日期格式匹配的ValueError问题
嘿,这个坑我刚入门Python的时候也踩过!你的推测完全没错——就是格式符用错啦😉
错误原因
你用的%y是两位数年份的格式符(对应17这种短年份),但你的日期字符串是四位数的完整年份2017,这时候得用大写的%Y(专门对应四位数年份)。
修正后的代码示例
假设你原本的解析逻辑是这样的,调整格式符就能解决问题:
from datetime import datetime # 你的目标日期字符串 audit_date = '2017-07-10' # 错误写法:用了%y匹配四位数年份 # parsed_date = datetime.strptime(audit_date, '%y-%m-%d') # 正确写法:用%Y匹配四位数年份 parsed_date = datetime.strptime(audit_date, '%Y-%m-%d') # 如果只需要日期(无时间部分),可以转成date对象 date_only = parsed_date.date() print(date_only) # 输出: 2017-07-10
小提示:常用日期格式符快速区分
%Y:四位数完整年份(如2017、2024)%y:两位数短年份(如17、24)%m:两位数月份(如07、12)%d:两位数日期(如10、31)
这样修改后,就能顺利把字符串转成你需要的日期格式啦~
内容的提问来源于stack exchange,提问作者Kate D.
相关产品推荐
相关产品推荐

