mysql 无法将类型“datetime”的参数赋给类型“str”的参数“value”

9w11ddsr  于 2022-12-03  发布在  Mysql
关注(0)|答案(1)|浏览(167)

我目前正在做一个Python和SQL项目。
在那里,我构建了一个GUI,它从用户输入中获取信息,并将它们存储在本地MySQL数据库中。
有几个警告/错误,我正在尝试解决。

这是我的代码

通过注解对引发错误的行进行了注解。

elif (x == "Learn Python The Hard Way"):
    self.book_id_var.set("Book Id: 2")
    self.book_title_var.set("Learn Python The Hard Way")
    self.book_author_var.set("Zde A. Sham")

    d1 = datetime.datetime.today()
    d2 = datetime.timedelta(days = 15)
    d3 = d1 + d2

    self.date_borrowed_var.set(d1) # Argument of type "datetime" cannot be assigned to parameter "value" of type "str" in function "set", "datetime" is incompatible with "str"

    self.date_due_var.set(d3) # Argument of type "datetime" cannot be assigned to parameter "value" of type "str" in function "set", "datetime" is incompatible with "str"

    self.days_on_book_var.set("15")
    self.late_return_fine_var.set("Rs.25")
    self.date_over_due_var.set("NO")
    self.final_price_var.set("Rs.725")

在第10行和第13行,d1d3抛出了错误注解。不幸的是,我无法找到它的解决方案。
我可以忽略 “datetime”与“str” 不兼容吗?如果不兼容,解决方法是什么?

46qrfjad

46qrfjad1#

为了将datetime对象转换为字符串,可以调用datetime包内置的.strftime方法
例如,用途:

d3.strftime("%d.%m.%y")

而不是仅仅

d3

d1 -(“%d.%m.%y”)也是如此,它表示日期时间的格式。
结果如下所示:

self.date_borrowed_var.set(d1.strftime("%d.%m.%y"))
self.date_due_var.set(d3.strftime("%d.%m.%y"))

相关问题