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

Python解析超23小时的时分字符串,寻求替代datetime的方案

处理超23小时的“小时:分钟”格式字符串方案

datetime.strptime的%H格式码仅支持0-23的小时数,无法直接解析像236:22这类小时数超标的字符串。以下是两种无需自行处理小时数换算的解决方案:

方案一:使用python-dateutil库的relativedelta

该库的relativedelta类支持直接传入任意大小的小时、分钟数值,自动完成时间换算:

  1. 先安装库:
pip install python-dateutil
  1. 代码示例:
from dateutil.relativedelta import relativedelta
from datetime import datetime

# 待解析的时长字符串
myTime = '236:22'
# 拆分出小时和分钟
hours, minutes = map(int, myTime.split(':'))

# 基准日期
base_date = datetime(2024, 1, 1, 0, 0)
# 添加时长到日期
new_date = base_date + relativedelta(hours=hours, minutes=minutes)

print(new_date)  # 输出:2024-01-10 20:22:00

方案二:使用标准库的timedelta

Python标准库的timedelta同样支持大小时数,会自动将超出24小时的部分换算为天数,无需手动处理:

from datetime import datetime, timedelta

myTime = '236:22'
hours, minutes = map(int, myTime.split(':'))

base_date = datetime(2024, 1, 1, 0, 0)
new_date = base_date + timedelta(hours=hours, minutes=minutes)

print(new_date)  # 输出:2024-01-10 20:22:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 05:54:39