我的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
我做错了什么?
答案 0 :(得分:2)
您创建time
对象的方式很奇怪。如果你不习惯,我强烈建议你这样宣布:
txdelta = timedelta(minutes=30)
tdelta = time(hour=1, minute=35, second=2)
如果我做得好,你试图合并date
,time
和timedelta
。下面的完整代码应该可以解决问题:
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