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

使用datetime.timedelta相加时长后如何获取总小时数?

获取timedelta相加后的总小时数

嘿,这事儿其实挺容易解决的,Python的datetime.timedelta给我们提供了两种实用的方式来计算总小时数,看你需要精确值还是整数值来选就行:

方法1:精确总小时数(包含小数)

如果你需要保留分钟、秒转化后的小数部分(比如30分钟就是0.5小时),可以用timedelta的total_seconds()方法,把所有时间单位转换成秒后,再除以3600(1小时的秒数):

步骤如下:

  • 先把两个时长对象相加得到总时长:total_time = time_1 + time_2
  • 计算总小时数:total_hours = total_time.total_seconds() / 3600

方法2:整数总小时数(忽略分秒)

要是你只需要整数形式的总小时数,直接把天数转换成小时(1天=24小时),再加上timedelta自带的hours属性就行,这样会自动忽略分钟和秒的部分:

计算方式:total_hours = total_time.days * 24 + total_time.hours

完整代码示例

import datetime

# 示例初始值,你可以换成自己的变量
hours_1, minutes_1, seconds_1 = 5, 30, 45
hours_2, minutes_2, seconds_2 = 3, 45, 15

# 创建两个时长对象
time_1 = datetime.timedelta(hours=hours_1, minutes=minutes_1, seconds=seconds_1)
time_2 = datetime.timedelta(hours=hours_2, minutes=minutes_2, seconds=seconds_2)

# 计算总时长
total_time = time_1 + time_2

# 精确总小时数
precise_hours = total_time.total_seconds() / 3600
print(f"精确总小时数: {precise_hours}")  # 输出:9.266666666666666

# 整数总小时数
integer_hours = total_time.days * 24 + total_time.hours
print(f"整数总小时数: {integer_hours}")  # 输出:9

简单说,需要精确值就用第一种方法,要整数就用第二种,根据你的业务场景选就好~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:53:01