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

如何在Python中从指定日期字符串提取小时和分钟

提取ISO格式时间字符串中的小时和分钟

针对你给出的ISO 8601格式时间字符串,这里有几种优雅的处理方式:

方法一:用datetime模块解析(最鲁棒)

这是最推荐的方式,遵循标准时间格式规范,不会因格式细微变动出错:

from datetime import datetime

time_str = "2023-07-03T14:30:00.000Z"
# 将末尾的Z替换为+00:00,适配fromisoformat的时区解析
dt_obj = datetime.fromisoformat(time_str.replace("Z", "+00:00"))
hour = dt_obj.hour
minute = dt_obj.minute

print(f"小时:{hour},分钟:{minute}")

解析后可直接通过datetime对象的hour和minute属性获取对应值,还能方便扩展处理其他时间字段。

方法二:字符串切片(格式固定时最简洁)

如果能确保字符串格式永远是YYYY-MM-DDTHH:MM:SS.fffZ,直接切片提取效率最高:

time_str = "2023-07-03T14:30:00.000Z"
# 提取HH:MM部分
hour_minute = time_str[11:16]
# 或者分开提取小时和分钟
hour = time_str[11:13]
minute = time_str[14:16]

print(f"小时:{hour},分钟:{minute}")

这种方法代码最短,但仅适用于格式完全固定的场景,一旦时间字符串格式变化(比如时区标识改变)就会失效。

方法三:用strptime指定格式解析

和fromisoformat类似,通过手动指定格式字符串来解析:

from datetime import datetime

time_str = "2023-07-03T14:30:00.000Z"
dt_obj = datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S.%fZ")
hour = dt_obj.hour
minute = dt_obj.minute

print(f"小时:{hour},分钟:{minute}")

这种方式需要准确匹配格式符,适合需要自定义解析规则的场景。

总结

如果追求通用性和鲁棒性,优先选方法一;如果是格式完全固定的简单场景,方法二更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:14:59