0
USER_ROBLOX_ID = 114678641
author_id = 257073333273624576
date_today = datetime.today().strftime('%Y-%m-%d')
await self.bot.db.execute("""
INSERT INTO user_data (roblox_id, discord_id, verified_at, verify_code) VALUES ($1, $2, $3, $4);
""", USER_ROBLOX_ID, author_id, date_today, "Default")

出于某种原因,它会出错,但我不知道为什么,它不会让我将它插入到我的数据库中。

这是 date_today 上的错误:

 ('str' object has no attribute 'toordinal') 

代码有问题吗?连接有效,我使用的角色是超级用户,所以没有权限。

4

1 回答 1

1

strptime() 将日期时间转换为字符串。如您所见,您的错误是关于您的 str 没有“toordinal”属性

strptime() 是相反的函数,允许您将字符串转换为日期时间。

由于您的列设置为日期时间,它将包含一个完整的日期时间对象,您不能将其格式化为数据库中的 '%Y-%m-%d'

您可以使用

dt = datetime(2013, 12, 14, 5, 0, 0)
dt = datetime(*dt.timetuple()[:3]) # 2013-12-14 00:00:00
于 2021-03-13T09:51:42.560 回答