Я застрял в том, что кажется очень глупой проблемой: я использую оба mysql.connector и MySQLdb для извлечения некоторых данных даты и времени, когда я выбираю значения () для помещения их в массив, мне нужно проанализироватьв каждой строке, но когда у datetime есть «двойные нули» в виде секунд, эта часть datetime игнорируется, и мой анализ завершается неудачно. Вот сценарий:
mycursor.execute("select arrival_time from queue_element where status='Pending'")
arrival = mycursor.fetchall()
скажем, он возвращает две строки:
>> arrival
>> [(datetime.datetime(2019, 10, 7, 2, 45, 48),), (datetime.datetime(2019, 10, 7, 2, 46),)]
In the database:
2019-10-07 02:45:48
2019-10-07 02:46:00
Так что, когда я пытаюсь проанализировать его с datetime.datetime, строки, которые имеют только 5 значений, ссекунды игнорируются вместо того, чтобы отображаться как 00, сбой и мой код ломается. Вот как я пытаюсь добиться этого:
for item in arrival:
arrival_parsed = str(item).replace("(datetime.datetime(", "") # extracts only the numbers
arrival_parsed = str(arrival_parsed).replace("),)", "") # extracts only the numbers
arrival_parsed = str(datetime.strptime(arrival_parsed,'%Y, %m, %d, %H, %M, %S')) # works fine if seconds != 00, breaks if equal
The error:
ValueError: time data '2019, 10, 7, 2, 46' does not match format '%Y, %m, %d, %H, %M, %S'
Пытался играть с датой и временем, но безуспешно. Любые советы о том, как правильно его проанализировать или получить значение с нулями?
Спасибо!