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

Python datetime模块strptime解析12小时制时间时AM/PM不生效问题

问题解决方法

问题根源

  • 你当前使用的%H为24小时制小时格式符,当strptime匹配到该格式符时会直接忽略后续的%p(AM/PM标识)参数,因此不会自动根据AM/PM调整小时数值。

解决方案

将格式串中的24小时制格式符%H替换为12小时制格式符%I即可。

修正后代码

import datetime as tm
ts = tm.datetime.strptime('12/11/2020 8:25:52 AM', '%d/%m/%Y %I:%M:%S %p')
ts2 = tm.datetime.strptime('12/11/2020 8:25:52 PM', '%d/%m/%Y %I:%M:%S %p')
print(ts)
print(ts2)
print(ts == ts2)

运行输出

2020-11-12 08:25:52
2020-11-12 20:25:52
False

注意事项

  • 该规则自动适配12点边界场景:12:00:00 AM会被解析为00:00,12:00:00 PM会被解析为12:00,无需额外手动调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:54:01