You need to enable JavaScript to run this app. 如何将Python的timedelta计算结果转换为仅显示小时单位
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python的timedelta计算结果转换为仅显示小时单位

解决方案

datetime模块计算时间差返回的timedelta类型对象,默认按「天 小时:分钟:秒」格式输出,要仅显示总小时数按以下方式处理即可:

  • 调用timedelta对象的total_seconds()方法获取包含天数在内的全部总秒数(不要直接使用duration.seconds属性,该属性仅返回不足1天部分的秒数,会漏掉天数对应的时长,导致计算错误)
  • 总秒数除以3600(1小时=3600秒)即可得到总小时数,可按需选择保留小数或取整。

完整可运行代码

import datetime as dt

start_datetime_str = '1/04/2021 7:55'
end_datetime_str = '14/05/2021 9:55'

# 字符串转datetime对象
start_datetime_obj = dt.datetime.strptime(start_datetime_str, '%d/%m/%Y %H:%M')
end_datetime_obj = dt.datetime.strptime(end_datetime_str, '%d/%m/%Y %H:%M')

# 计算时间差
duration = end_datetime_obj - start_datetime_obj
# 转换为总小时数
total_hours = duration.total_seconds() / 3600

# 不同输出格式示例
# 保留原始小数
print(total_hours)
# 截断取整
print(int(total_hours))
# 四舍五入到整数
print(round(total_hours))

上述示例输入的时间差计算结果为1034.0小时,和预期的43天零2小时换算结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 18:45:04