如何添加两个datetime.datetime对象?

时间:2015-03-11 13:45:36

标签: python

我想添加两个日期时间对象。

>>> from datetime import datetime
>>> a = datetime.strptime("04:30",'%H:%M')
>>> b = datetime.strptime("02:30",'%H:%M')
>>> a
datetime.datetime(1900, 1, 1, 4, 30)
>>> b
datetime.datetime(1900, 1, 1, 2, 30)

当我从a中减去b时,它给出了输出

>>> a-b
datetime.timedelta(0, 7200)

但是,当我添加a和b时,它会给我错误

>>> a+b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
 TypeError: unsupported operand type(s) for +: 'datetime.datetime' and    'datetime.datetime'

我想将b的时间加到a的时间,即我想要这个。

datetime.datetime(1900, 1, 1, 7, 00)

请帮帮忙?

1 个答案:

答案 0 :(得分:3)

同意上一张海报,没有一种有意义的方法来添加两个日期时间,因为它们只是时间点,你只能处理它们之间的差异(timedeltas)。既然你没有明确提到你的例子中的日期,这似乎更像是你想要完成的事情:

>>> a = datetime.timedelta(0, (4*3600+30*60))
>>> b = datetime.timedelta(0, (2*3600+30*60))
>>> a+b
datetime.timedelta(0, 25200)
>>> print a+b
7:00:00

由于timedeltas需要几天,几秒和几微秒,你需要将你的小时和分钟相乘以使它们达到正确的基础。