如何在Python中给起始时间字符串添加时长得到结束时间?
Python计算起始时间加分钟时长得到结束时间的最优方法
这问题我日常写脚本时经常碰到,用Python标准库的datetime模块就是最优解——不用手动处理时分的60进制进位,逻辑清晰还能覆盖所有边界情况(比如跨天的场景)。
具体实现步骤
- 把字符串格式的起始时间解析成
datetime对象(日期用当天的就行,不影响时间计算) - 用
timedelta创建对应分钟数的时间增量 - 将起始时间和增量相加,再格式化为目标字符串格式
代码示例
from datetime import datetime, timedelta # 示例输入 start_time_str = "10:15" duration_minutes = 90 # 解析时间字符串 start_datetime = datetime.strptime(start_time_str, "%H:%M") # 计算结束时间 finish_datetime = start_datetime + timedelta(minutes=duration_minutes) # 格式化为HH:MM字符串 finish_time_str = finish_datetime.strftime("%H:%M") print(finish_time_str) # 输出: 11:45
为什么这是最优方案?
- 标准库原生支持:不用额外安装第三方包,稳定性和兼容性拉满
- 自动处理边界:比如起始时间是
23:30、时长40分钟,会自动算出00:10,完全不用自己写进位逻辑 - 可读性强:代码逻辑一目了然,后续维护成本低
如果你的场景需要处理带日期的时间,只需要修改解析和格式化的格式字符串(比如"%Y-%m-%d %H:%M"),同样适用。
内容的提问来源于stack exchange,提问作者robster
相关产品推荐
相关产品推荐

