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

Python中如何让timedelta仅显示分钟和秒数

问题:调整timedelta输出格式,仅保留分钟和秒数

现有代码:

if (len(circles[0, :])) == 5:
            start = time.time()

        if (len(circles[0, :])) == 1:
            end = time.time()

            print(str(timedelta(seconds=end-start)))

当前输出:

0:01:03.681325

期望输出:

1:03

需要修改代码,让timedelta的输出仅保留分钟和秒数。


解决方案

不要直接将timedelta对象转为字符串,而是手动提取并格式化分钟和秒数,以下是两种可行方案:

方案1:兼容超1小时的场景(将小时换算为分钟)

如果计时可能超过1小时,这种方法会把所有时长统一换算为分钟数,搭配剩余秒数输出:

from datetime import timedelta
import time

if len(circles[0, :]) == 5:
    start = time.time()

if len(circles[0, :]) == 1:
    end = time.time()
    delta = timedelta(seconds=end - start)
    total_minutes = int(delta.total_seconds() // 60)
    seconds = int(delta.total_seconds() % 60)
    print(f"{total_minutes}:{seconds:02d}")

比如2小时5分30秒会输出125:30,完全匹配你示例的1:03格式。

方案2:仅显示当前小时内的分钟(适用于时长不超1小时的场景)

如果确定计时不会超过1小时,可以直接使用timedelta的属性:

from datetime import timedelta
import time

if len(circles[0, :]) == 5:
    start = time.time()

if len(circles[0, :]) == 1:
    end = time.time()
    delta = timedelta(seconds=end - start)
    print(f"{delta.minutes}:{delta.seconds:02d}")

这种方式下,1小时5分30秒会输出5:30,仅保留当前小时段内的分钟数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:27:26