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

Django:如何将"1 day, 1:00:09"转换为"HH:MM:SS"格式

秒数转HH:MM:SS格式的解决方法

你遇到的问题是因为gmtime会把超过24小时的秒数拆分为“天数+当日小时”,而strftime('%H')只能提取当日的小时(0-23),所以结果会带天数。下面是几种能得到累计小时数的HH:MM:SS格式的方法:

方法1:手动计算时分秒

直接通过数学运算拆分总秒数,自己控制小时的累计计算:

seconds = 86409  # 示例:1天1小时9秒
hours = seconds // 3600
remaining = seconds % 3600
minutes = remaining // 60
secs = remaining % 60
result = f"{hours:02d}:{minutes:02d}:{secs:02d}"
# 输出:25:00:09

02d用来确保数字不足两位时自动补零,比如1小时会显示为01。

方法2:利用datetime.timedelta

借助timedelta处理时间差,再提取累计小时数:

from datetime import timedelta

seconds = 86409
td = timedelta(seconds=seconds)
total_hours = td.days * 24 + td.seconds // 3600
minutes = (td.seconds // 60) % 60
secs = td.seconds % 60
result = f"{total_hours:02d}:{minutes:02d}:{secs:02d}"
# 输出:25:00:09

方法3:基于原代码改造

从gmtime返回的结构体中提取天数,转成小时后和当日小时相加:

import time

seconds = 86409
struct_t = time.gmtime(seconds)
total_hours = (struct_t.tm_mday - 1) * 24 + struct_t.tm_hour
result = f"{total_hours:02d}:{struct_t.tm_min:02d}:{struct_t.tm_sec:02d}"
# 输出:25:00:09

这里tm_mday是从1开始的天数,所以要减1再转成小时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:17:36