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

datetime.strptime转换未来日期报错?实为格式问题求解

问题解答

datetime.strptime完全支持转换未来日期,你的报错和日期是否为未来无关,根源是格式字符串与日期字符串的结构不匹配。

报错原因分析

你使用的格式字符串%Y-%d-%m代表年-日-月的日期结构,但传入的"2022-11-16"实际是年-月-日的格式:

  • 第二个例子"2022-11-12"能成功执行只是巧合:12是合法的月份值(1-12),strptime错误地将11解析为日,12解析为月,最终得到的是2022年12月11日,这并非你预期的结果。
  • 第一个例子"2022-11-16"报错,是因为16超出了月份的合法范围(1-12),解析时触发异常,提示“unconverted data remains: 6”是解析失败后的连带信息。

解决方法

将格式字符串改为匹配年-月-日结构的%Y-%m-%d即可:

from datetime import datetime
end = datetime.strptime("2022-11-16", "%Y-%m-%d")

修改后,无论过去还是未来的日期,只要格式符合YYYY-MM-DD,都能正常解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:01:42