在 Python 中添加时间值

Add time values in Python

我有一个时间列表,格式如下:

小时:分钟:Second.Microseconds

文件如下所示:

0:06:50.137529
0:08:55.439963
0:06:19.179093
0:07:16.680906
0:31:55.778010
0:16:56.940836

是否有 Python 函数或命令集可以让我将所有这些值加在一起?

我最初使用以下代码 "build" 这些值:

optimize_times = []
starting_time=(datetime.now())
ending_time=(datetime.now())
optimize_times.append(str(ending_time-starting_time))

您可以使用标准库中的 datetime.timedelta

from datetime import timedelta

L = ['0:06:50.137529', '0:08:55.439963', '0:06:19.179093',
     '0:07:16.680906', '0:31:55.778010', '0:16:56.940836']

def str_to_td(x):
    hrs, mins, sec_micro = x.split(':')
    secs, msecs = map(int, sec_micro.split('.'))
    return timedelta(hours=int(hrs), minutes=int(mins), seconds=secs, microseconds=msecs)

res = sum(map(str_to_td, L), timedelta())

# datetime.timedelta(0, 4694, 156337)

注意这是一个 timedelta 对象的输出。如果这不是您想要的格式,您将需要转换回具有附加逻辑的字符串。