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

Python新手求助:如何用datetime模块求和视频时长列表?

使用datetime模块求和视频总时长

实现思路

datetime.timedelta是专门处理时间间隔(时长)的类,支持直接做加法运算。我们只需要把每个「时:分:秒」格式的字符串拆解为小时、分钟、秒的整数,转换成timedelta对象后累加即可,最终timedelta会自动将超过24小时的部分转换为天数。

完整代码

from datetime import timedelta

youtube_time = ['23:15:02', '23:03:19', '18:52:23',
                '20:26:46', '57:41:07', '51:45:11',
                '47:20:26', '43:24:26', '127:41:49']

total_duration = timedelta()  # 初始化总时长为0时0分0秒

for time_str in youtube_time:
    # 拆分字符串为时分秒并转为整数
    hours, minutes, seconds = map(int, time_str.split(':'))
    # 创建单条视频时长对象并累加到总时长
    total_duration += timedelta(hours=hours, minutes=minutes, seconds=seconds)

print(total_duration)  # 输出结果: 17 days, 5:30:29

代码细节解释

  1. 导入工具类:从datetime模块导入timedelta,它能直接存储和计算时长。
  2. 初始化总时长:空的timedelta对象默认代表0时长,作为累加的初始值。
  3. 遍历处理每个时间字符串:
    • split(':')把字符串按冒号分割成三个部分,比如'23:15:02'会拆成['23', '15', '02']。
    • map(int, ...)把拆分出的字符串转成整数,对应小时、分钟、秒的数值。
    • 用得到的数值创建timedelta对象,直接通过+=累加到总时长里。
  4. 自动格式化输出:最终的total_duration会自动以「X days, H:M:S」的形式展示,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:27:16