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

如何将timedelta对象转换为仅含时分的字符串(如"09:50")

解决timedelta转为HH:MM格式字符串的方法

要把timedelta对象转换成HH:MM(带前导零)的格式,而非默认的H:MM:SS,可以用以下两种实用方法实现:

方法1:手动计算+格式化

通过timedelta.total_seconds()获取总秒数,换算出小时和分钟后,用格式化字符串补零输出:

from datetime import timedelta

y = 3
x = 30

time1 = timedelta(hours=6, minutes=20)
time2 = timedelta(hours=y, minutes=x)

future = time1 + time2

# 计算总秒数并拆分小时、分钟
total_sec = int(future.total_seconds())
hours = total_sec // 3600
minutes = (total_sec % 3600) // 60

# 格式化生成HH:MM字符串
future_str = f"{hours:02d}:{minutes:02d}"
print(future_str)  # 输出 09:50

方法2:借助datetime对象格式化

将timedelta叠加到一个基准datetime对象上(比如Unix纪元起始时间),再用strftime直接提取小时和分钟:

from datetime import timedelta, datetime

y = 3
x = 30

time1 = timedelta(hours=6, minutes=20)
time2 = timedelta(hours=y, minutes=x)

future = time1 + time2

# 用基准时间叠加timedelta后格式化
base_dt = datetime(1970, 1, 1)
future_str = (base_dt + future).strftime("%H:%M")
print(future_str)  # 输出 09:50

补充说明

  • 方法1无需额外导入模块,纯数值计算实现,适合简单场景;
  • 方法2利用datetime的成熟格式化工具,代码更简洁,方便后续扩展其他时间格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:25:18