timedelta求和

Posted by c cm on November 5, 2016
>>> from datetime import timedelta
>>> td1 = timedelta(10)
>>> td2 = timedelta(20)
>>> td1 + td2
datetime.timedelta(30)
>>> sum([td1, td2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'datetime.timedelta'
>>> sum([td1, td2], timedelta())
datetime.timedelta(30)

直接sum失败的原因是sum默认从int: 0开始往上加,通过增加初始值timedelta()即可搞定。