如何在Python中求timedelta的总和?
Python:如何计算时间差的总和?
比如,我现在有很多时间差对象(timedelta),我想要把它们加在一起。就这么简单!
6 个回答
2
如果你有一堆时间差对象(timedelta),你可以试试这样做:
用这段代码:datetime.timedelta(seconds=sum(td.total_seconds() for td in list_of_deltas))
62
要添加时间差,你可以使用内置的运算符 +
:
result = timedelta1 + timedelta2
如果你想添加很多时间差,可以使用 sum 函数:
result = sum(timedeltas, datetime.timedelta())
或者使用 reduce 函数:
import operator
result = reduce(operator.add, timedeltas)
14
datetime的combine方法可以让你把时间和一个时间差结合在一起。
datetime.combine(date.today(), time()) + timedelta(hours=2)
时间差可以用普通的'+'运算符来组合。
>>> timedelta(hours=3)
datetime.timedelta(0, 10800)
>>> timedelta(hours=2)
datetime.timedelta(0, 7200)
>>>
>>> timedelta(hours=3) + timedelta(hours=2)
datetime.timedelta(0, 18000)
>>>
你可以查看datetime模块的文档,还有一个很好的简单介绍在这里: