如何用Python实现hhmmss格式时间的秒数加减运算
Python实现hhmmss格式时间的秒数加减运算
以下是开箱即用的实现代码,天然支持时分秒自动进位、跨天处理:
from datetime import datetime, timedelta def hhmmss_calc(time_str: str, sec: int) -> str: # 1. 转换hhmmss字符串为可计算的datetime对象 time_obj = datetime.strptime(time_str, "%H%M%S") # 2. 执行秒数加减运算,sec为负即为减操作 res_time = time_obj + timedelta(seconds=sec) # 3. 转换为hhmmss格式字符串,自动补前导零 return res_time.strftime("%H%M%S") # 测试用例 print(hhmmss_calc('082358', 3)) # 输出:082401 print(hhmmss_calc('235959', 2)) # 输出:000001 print(hhmmss_calc('000001', -3)) # 输出:235958
分步实现说明
- 字符串转可计算时间类型
直接使用标准库datetime的strptime方法,指定格式匹配符%H%M%S即可直接解析6位hhmmss字符串,不用手动拆分字符串计算时分秒,避免格式错误和计算误差。 - 秒数加减运算
借助timedelta类型封装要加减的秒数,直接与datetime对象做算术运算即可,底层自动完成秒到分、分到小时、小时跨天的所有进位逻辑,无需手动编写进位判断代码。 - 结果转hhmmss字符串
调用datetime对象的strftime方法,指定输出格式为%H%M%S,会自动将时分秒格式化为2位数字,不足位数自动补前导零,完全匹配输出要求。
内容的提问来源于stack exchange,提问作者James Park
相关产品推荐
相关产品推荐

