将 timedelta 对象添加到日期时间

Adding timedelta object to datetime

我的 timedelta 对象如下所示:txdelta = 00:30:00。我想将它添加到日期时间对象,但它始终无法正常工作:

from datetime import datetime, date, time, timedelta
localdt = datetime.combine(datetime.strptime('2015-06-18', '%Y-%m-%d').date(),
(23:35:02+timedelta(txdelta)).time())

请注意,23:35:02 已经是一个日期时间对象。我收到此错误消息:

TypeError: unsupported type for timedelta days component: datetime.timedelta

我做错了什么?

您创建 time 对象的方式很奇怪。如果你不习惯,我强烈建议你这样声明:

txdelta = timedelta(minutes=30)
tdelta = time(hour=1, minute=35, second=2)

如果我没听错,你尝试组合 datetimetimedelta。下面的完整代码应该可以解决问题:

from datetime import datetime, date, time, timedelta

txdelta = timedelta(minutes=30)
tdelta = time(hour=1, minute=35, second=2)
localdt = datetime.combine(datetime.strptime('2015-06-18', '%Y-%m-%d').date(), tdelta) + txdelta

print(localdt)

基本上,您将日期时间对象与时间对象结合起来,然后简单地添加 timedelta 对象。

输出为:

2015-06-18 02:05:02