python - 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(),但每次我收到错误“元组没有对象(插入三个对象之一)”
我怎样才能得到我想要的格式?
解决方案
游标将数据库行作为元组返回,您需要使用方括号表示法访问各个列的值。列从 0 开始索引。
例子:
print(max_date[0].strftime('%Y-%m-%d %H:%M:%S'))
此外 cursor.fetchall() 返回一个元组列表。您可以在此特定实例中使用 cursor.fetchone(),因为 select(max) 将始终返回一行。
推荐阅读
- redis - 如何使用 Redis 数据库实现 Hashtags
- python-3.x - 向数据框添加新列
- oracle - 我们可以用什么来代替 postgresql 中的 V$parameter?
- sql - 如何在postgresql中找到最近7天的平均销售量?
- java - 在没有 glClearColor 的情况下更改 libgdx 中的初始背景颜色?
- azure-devops - 如何为 Azure 中的每个分支设置不同的管道
- intellij-idea - 如何更新整个系统的 JAVA_HOME,而不仅仅是我的终端?
- javascript - 单击时显示具有相同数据值的 div 并隐藏所有其他
- pytorch - PyTorch 中是否有沿着昏暗(块状 Softmax)部分的 Softmax 实现?
- c# - 附加到游戏对象的脚本不起作用但在禁用然后重新启用后启用(检查器中带有复选标记)(UNITY)