我想添加两个日期时间对象。
>>> 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)
请帮帮忙?
答案 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需要几天,几秒和几微秒,你需要将你的小时和分钟相乘以使它们达到正确的基础。