我有如下代码可以从MySQL数据库中选择最大时间戳:
cursor = connection.cursor()
cursor.execute("SELECT max(played_at) FROM
testDB.Log;")
max_date = cursor.fetchall()
它返回一个datetime.datetime对象,如下所示:
((datetime.datetime(2019, 6, 4, 11, 44, 5),),)
我需要它以%Y-%m-%d%H:%M:%S格式返回时间戳
我尝试使用strptime(),datetime()和strftime(),但是每次出现错误“元组没有对象(插入三个对象之一)”
如何获取我想要的格式?
答案 0 :(得分:1)
光标以tuple的形式返回数据库行,您需要使用方括号表示法访问各个列的值。列从0开始索引。
示例:
print(max_date[0].strftime('%Y-%m-%d %H:%M:%S'))
另外,cursor.fetchall()返回一个元组列表。您可以在此特定实例中使用cursor.fetchone(),因为select(max)将始终返回一行。