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

如何使用datetime.strptime处理12:00格式的时间字符串?

解决datetime.strptime的格式匹配问题

嘿,这个错误很好解决,核心问题就是格式字符串的分隔符和你的时间字符串不匹配:

你写的格式是%I, %M,这里用了逗号来分隔小时和分钟,但你的时间字符串是12:00,用的是冒号分隔,这就导致解析时无法匹配,直接抛出了ValueError。

正确的格式写法

根据你的时间字符串12:00,应该用%I:%M作为格式参数:

  • %I:代表12小时制的小时数(范围是1-12,适合表示上午/下午的时间,比如12:00可以是中午或午夜)
  • ::对应时间字符串里的冒号分隔符
  • %M:代表分钟数(00-59)

修正后的完整代码

另外注意你原来的代码有两个小问题:一是模块导入语法错误(import time import pandas应该分开写),二是没正确导入datetime模块。修正后的代码如下:

from datetime import datetime
# 如果需要用到time或pandas,单独导入
import time
import pandas as pd

tm = '12:00'
dt = datetime.strptime(tm, '%I:%M')
print(dt)
# 输出示例:1900-01-01 12:00:00(因为没指定日期,默认用1900-01-01)

额外说明

如果你的时间是24小时制的(比如13:00代表下午1点,00:00代表午夜),那应该把格式改成%H:%M,其中%H对应24小时制的小时数(范围0-23)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:56:44