发件人:
http://docs.python.org/py3k/library/datetime.html#timedelta-objects
A timedelta object represents a duration, the difference between two dates or times.
那么为什么我会出错:
>>> from datetime import datetime, timedelta, time
>>> datetime.now() + timedelta(hours=12)
datetime.datetime(2012, 9, 17, 6, 24, 9, 635862)
>>> datetime.now().date() + timedelta(hours=12)
datetime.date(2012, 9, 16)
>>> datetime.now().time() + timedelta(hours=12)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
最佳答案
datetime.time
对象 do not support addition与 datetime.timedelta
s.
虽然有一个自然定义,时钟算术。 你可以这样计算:
import datetime as dt
now = dt.datetime.now()
delta = dt.timedelta(hours = 12)
t = now.time()
print(t)
# 12:39:11.039864
print((dt.datetime.combine(dt.date(1,1,1),t) + delta).time())
# 00:39:11.039864
dt.datetime.combine(...)
将 datetime.time t
提升为 datetime.datetime
对象,增量为然后添加,并将结果返回到 datetime.time
对象。
关于python - 如何将增量添加到 python datetime.time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448592/