Python 将datetime.datetime与datetime.time组合-TypeError:需要整数

Python 将datetime.datetime与datetime.time组合-TypeError:需要整数,python,datetime,python-datetime,Python,Datetime,Python Datetime,我目前正在尝试遍历SQL请求游标中包含的某些数据,将某些数据的类型更改为“datetime.time”,然后将其与另一个变量组合为一个名为“datetime_db”的新变量 我有两个名为“date”和“nextDay”的变量,这两个变量以前在我的代码中定义过。根据特定条件,前面提到的“datetime.time”将与“date”或“nextDay”组合 我的代码如下: for (date_db,time_db,price) in cursor: time_db = datetime.da

我目前正在尝试遍历SQL请求游标中包含的某些数据,将某些数据的类型更改为“datetime.time”,然后将其与另一个变量组合为一个名为“datetime_db”的新变量

我有两个名为“date”和“nextDay”的变量,这两个变量以前在我的代码中定义过。根据特定条件,前面提到的“datetime.time”将与“date”或“nextDay”组合

我的代码如下:

for (date_db,time_db,price) in cursor:
    time_db = datetime.datetime.strptime(time_db,"%H:%M:%S").time()
    price = float(price)

    if (date_db == date):
        datetime_db = datetime.datetime.combine(datetime.date(date), datetime.time(time_db))

    else:
        datetime_db = datetime.datetime.combine(datetime.date(nextDay), datetime.time(time_db))
这会引发以下错误:

File "C:/Users/Stuart/PycharmProjects/untitled/Apache - Copy.py", line 82, in <module>
datetime_db = datetime.datetime.combine(datetime.date(date), datetime.time(time_db))
TypeError: an integer is required
文件“C:/Users/Stuart/PycharmProjects/untitled/Apache-Copy.py”,第82行,在
datetime\u db=datetime.datetime.combine(datetime.date(date),datetime.time(time\u db))
TypeError:需要一个整数
当我打印出涉及的3个变量的“type()”时,我得到以下结果:

time_db = <type 'datetime.time'> date = <type 'datetime.datetime'> nextDay = <type 'datetime.datetime'>
time\u db=date=nextDay=
有没有什么明显的原因可以解释为什么这不起作用?我尝试过将“日期”和“下一天”的类型更改为“datetime.date”,但这没有什么区别


有人能建议我如何成功地组合这两个变量吗?

构造函数无法将
日期时间
转换为
日期

>>> datetime.date(datetime.datetime.now())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required
因此,您可以:

datetime.datetime.combine(date.date(), time_db)
从:


这假设
date
time\u db
都是
datetime
对象,它们看起来就是这样。

谢谢-我现在已经将“date”和“nextDay”的“type()”改为“datetime.date”,就在“if语句”上方,但我仍然得到了相同的错误-尽管奇怪的是,现在它正在引用“datetime_db=datetime.datetime.combine(datetime.date(nextDay),datetime.time(time_db))”作为错误的行,似乎正在越过先前标记的行。是否有任何原因它似乎对其中一行有效,而对另一行无效?或者我最好的评论是,”您能否指导我如何正确地实现我的目标,将这两个要素结合起来“我给您的最后一段代码如何(前提是
date
仍然是
datetime
)是的-很抱歉我读得太慢了-我没有正确阅读它。这确实有效。非常感谢,谢谢你的帮助!谢谢马克-我试过了,但得到了以下消息:回溯(最近一次调用):文件“C:/Users/Stuart/PycharmProjects/untitled/Apache-Copy.py”,第83行,在datetime_db=datetime.datetime.combine中(date.date(),time_db.timetz())AttributeError:'datetime.time'对象没有属性'timetz'太棒了!我刚刚删除了“.timetz())“从最后开始,它现在起作用了-非常感谢-谢谢!!这不正是Antti之前推荐的吗?是的……我没有仔细阅读回复。我现在接受了答案。谢谢大家。”。
datetime.datetime.combine(date.date(), time_db)
datetime_db = datetime.datetime.combine(date.date(), time_db.timetz())