我有从 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(),但每次都会收到错误“元组没有对象(插入三个对象之一)”
如何获得我想要的格式?
最佳答案
游标将数据库行返回为 tuple ,您需要使用方括号表示法访问各个列的值。列的索引从 0 开始。
示例:
print(max_date[0].strftime('%Y-%m-%d %H:%M:%S'))
此外,cursor.fetchall() 返回元组列表。在此特定实例中,您可以使用cursor.fetchone(),因为 select(max) 始终返回一行。
关于Python pymysql datetime.datetime元组到时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56579600/