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

Python使用strptime转换日期字符串报错格式不匹配如何解决

错误原因

你的strptime格式字符串和输入的时间字符串结构不匹配,存在两个问题:

  1. 原时间字符串中Fri,后带有1个空格,你写的格式字符串%a,%d中逗号后没有空格,字符对应不上
  2. 从报错信息来看,你实际运行的代码里格式字符串漏了%d日期占位符,导致Dec月份缩写没有对应的匹配规则
正确实现代码
from datetime import datetime

dte_str = "Fri, 03 Dec 2021 11:43:55"
# 格式字符串严格对齐原字符串的字符、顺序
dte = datetime.strptime(dte_str, "%a, %d %b %Y %H:%M:%S")
补充说明

如果运行时依然提示匹配失败,是因为你的运行环境默认locale为中文,无法识别英文的星期、月份缩写,添加locale设置即可:

from datetime import datetime
import locale

# 临时将时间解析的locale设置为英文
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')
dte_str = "Fri, 03 Dec 2021 11:43:55"
dte = datetime.strptime(dte_str, "%a, %d %b %Y %H:%M:%S")
格式占位符对应说明
  • %a:匹配星期缩写(英文环境下对应Fri、Mon等)
  • %d:匹配两位数字日期(取值范围01~31)
  • %b:匹配月份缩写(英文环境下对应Dec、Jan等)
  • %Y:匹配四位数字年份
  • %H:%M:%S:匹配24小时制的时、分、秒

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:39:00