You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:15:21