Python pymysql datetime.datetime кортеж к метке времени - PullRequest
0 голосов
/ 13 июня 2019

У меня есть код, который выбирает максимальную метку времени из базы данных 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 (), но каждый раз, когда я получаюошибка "у кортежа нет объекта (вставьте один из трех)"

Как получить нужный формат?

1 Ответ

1 голос
/ 13 июня 2019

Курсор возвращает строку базы данных в виде кортежа , вам необходимо получить доступ к значениям отдельных столбцов, используя обозначение в квадратных скобках. Столбцы индексируются от 0.

пример:

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

Кроме того, cursor.fetchall () возвращает список кортежей. Вы можете использовать cursor.fetchone () в этом конкретном случае, так как select (max) всегда будет возвращать одну строку.

...