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

为什么Python 3.8的strptime函数无法正确解析date_time_str2日期字符串?

问题原因

你使用的strptime格式符和待解析字符串内容不匹配:

  • %A 对应星期的完整英文名称(如Monday),但date_time_str2中的Mon是星期缩写,需要用*小写%a*匹配
  • %B 对应月份的完整英文名称(如October),但date_time_str2中的Oct是月份缩写,需要用*小写%b*匹配

另外注意date_time_str1的两个括号之间有3个空格,你原本的格式串里仅写了1个空格,也可能触发格式匹配错误,需要对应调整空格数量。

修复方案

修改对应解析规则即可正常运行,非英文系统环境下还需要临时设置英文locale避免英文时间缩写识别失败,完整可运行代码如下:

from datetime import datetime
import time
import locale

# Windows系统可将参数替换为'English_US'
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')

print(time.tzname)

date_time_str1 = '(2021,10,4)   (19,36,21)'
date_time_str2 = 'Mon Oct 4 11:13:08 2021'

print(date_time_str1)
print(date_time_str2)

# 调整str1格式串的空格数量匹配原字符串
date_time_obj = datetime.strptime(date_time_str1, '(%Y,%m,%d)   (%H,%M,%S)')
print ("The date is", date_time_obj)

# 调整str2的格式符匹配缩写内容
date_time_obj = datetime.strptime(date_time_str2, '%a %b %d %H:%M:%S %Y')
print ("The date is", date_time_obj)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:09:04