首页 > 解决方案 > Python pymysql datetime.datetime 元组到时间戳

问题描述

我有从 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(),但每次我收到错误“元组没有对象(插入三个对象之一)”

我怎样才能得到我想要的格式?

标签: pythonmysqldatetimepymysql

解决方案


游标将数据库行作为元组返回,您需要使用方括号表示法访问各个列的值。列从 0 开始索引。

例子:

print(max_date[0].strftime('%Y-%m-%d %H:%M:%S'))

此外 cursor.fetchall() 返回一个元组列表。您可以在此特定实例中使用 cursor.fetchone(),因为 select(max) 将始终返回一行。


推荐阅读