datetime.time的总和列表



我有一个datetime.time 列表

[ datetime.time(2, 0), datetime.time(1, 0), datetime.time(1, 0), ...]

我如何计算这些值的总和?我试着简单地去

sum(mylist)

但我有一个错误";不支持+的操作数类型:"int"one_answers"datetime.time">

您需要指定start=…参数,这样它就不会以0开始,而是以持续时间为零的timedelta`开始。

此外,您不能将两个time项目相加,因为添加两点和五点是没有意义的。您应该使用时间增量:

from datetime import timedelta
data = [timedelta(hours=2), timedelta(hours=1), timedelta(hours=1)]

然后总结为:

sumd = sum(data, start=timedelta())

像这个

import datetime as dt
t1 = dt.datetime.strptime('12:00:00', '%H:%M:%S')
t2 = dt.datetime.strptime('02:00:00', '%H:%M:%S')
time_zero = dt.datetime.strptime('00:00:00', '%H:%M:%S')
print((t1 - time_zero + t2).time())

最新更新