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

使用strptime函数实现出生日期前一天查询时遇错误求助

问题原因与修复方案

你的错误核心是日期输入格式和代码指定的解析格式不匹配:
代码里用datetime.strptime(birth_date_str, "%Y-%m-%d")要求输入的日期为YYYY-MM-DD(横杠分隔),但你实际输入的是YYYY/MM/DD(斜杠分隔),因此触发了ValueError: time data 'xxx' does not match format '%Y-%m-%d'错误。

快速修复方案

任选其一即可:

  • 严格按照代码要求的格式输入日期,比如输入2000-01-01而非2000/01/01
  • 修改代码中的格式匹配字符串,把"%Y-%m-%d"替换成"%Y/%m/%d",让代码适配斜杠分隔的输入

适配斜杠输入的修正代码

from datetime import datetime, timedelta

birth_date_str = input("请输入出生日期(格式:YYYY/MM/DD):")
birth_date = datetime.strptime(birth_date_str, "%Y/%m/%d")
previous_day = birth_date - timedelta(days=1)
print("出生日期的前一天是:", previous_day.strftime("%Y/%m/%d"))

内容的提问来源于stack exchange,提问作者adkins77

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:40:55