2017-09-12 70 views
-2

我timedelta物体看起来像这样:txdelta = 00:30:00。我想将它添加到DateTime对象,但它始终是不工作:添加timedelta对象为datetime

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已经是DateTime对象。我收到此错误消息:

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

我在做什么错?创建

+0

更新您的例子,令其在Python 2.7运行原样。现在它返回'语法错误:无效syntax'。让它回到你声称的错误。参见[MCVE]为准则,以张贴代码。 –

回答

1

的方式你time对象是陌生的。我强烈建议你这样声明它,如果你不使用它:

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

如果我得到了它好你试图将date,一个timetimedelta结合起来。下面的完整的代码应该做的伎俩:

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) 

基本上,你把DateTime对象有一个时间,你只需在后面加上这个timedelta对象。

输出是:

2015-06-18 02:05:02