将timedelta对象添加到datetime

时间:2017-09-12 00:30:36

标签: python python-2.7 datetime timedelta

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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您创建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