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

Python 如何添加两个datetime.datetime对象?,python,Python,我想添加两个datetime对象 >>> 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(1

我想添加两个datetime对象

>>> 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'

请帮助?

同意前面的海报,没有一种有意义的方法来添加两个日期时间,因为它们只是时间点,您只能处理它们之间的差异(时间增量)。由于您在示例中没有明确提到日期,这似乎更符合您要实现的目标:

>>> 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

由于时间增量需要几天、几秒钟和几微秒,因此您需要将小时和分钟相乘,以使它们达到正确的基数。

添加日期没有意义。没有逻辑上的理由期望您想要的输出(为什么要添加小时和分钟,而不是年、月和日?)虽然添加日期没有意义,但您想要的可能是在时间上添加时差。因此,您应该使
b
不是datetime对象,而是timedelta对象。
>>> 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