У меня есть база данных в MySQL, которая хранит время. Я использовал тип данных Time для хранения 4 раза. У меня есть приложение kivy, которое отображает время как строку на кнопках, чтобы пользователь мог выбрать одно из раз. Я пытаюсь преобразовать время в 12-часовое время AM/PM вместо стандартного 24-часового формата времени (военного времени), который по умолчанию использует тип данных MySQL TIME. Я могу получить время от MySQL до кнопок, но не в том формате, который я ищу. Я попытался использовать метод SQL TIME_FORMAT()
с pymysql для перевода кода в формат, который я ищу, но это не сработало. Например, я хочу, чтобы мое время напоминало (22:40:00) вместо (22:40:00).
Как мне это сделать? Вот пример моего кода Python ниже, где я собираю время из MySQL и добавляю их к кнопкам:
def display_times(self):
cur.execute("""SELECT * FROM appointment_times""")
times = cur.fetchall()
time_1 = (times[0])
time_2 = (times[1])
time_3 = (times[2])
time_4 = (times[3])
form_time_1 = time_1['times']
form_time_2 = time_2['times']
form_time_3 = time_3['times']
form_time_4 = time_4['times']
self.ids.time_1.text += str(form_time_1)
self.ids.time_2.text += str(form_time_2)
self.ids.time_3.text += str(form_time_3)
self.ids.time_4.text += str(form_time_4)
Чтобы получить время в формате hh:mm:ss AM/PM
, вы можете использовать date_format(times, '%r')
в вашем запросе select
(предполагая, что это times
является столбцом времени). Функция date_format
используемая в формате %r
, преобразует время в желаемый формат (см. Также https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format).
Например, выполните следующий код:
cursor = conn.cursor()
cursor.execute("""select date_format(time_col, '%r') from times""")
times = cursor.fetchall()
time_1 = (times[0])
time_2 = (times[1])
time_3 = (times[2])
time_4 = (times[3])
form_time_1 = time_1[0]
form_time_2 = time_2[0]
form_time_3 = time_3[0]
form_time_4 = time_4[0]
print str(form_time_1)
print str(form_time_2)
print str(form_time_3)
print str(form_time_4)
печатает следующее:
11:23:09 AM
07:07:25 PM
03:14:10 AM
08:02:43 PM
Мой times
таблица выглядит следующим образом:
+----+----------+
| id | time_col |
+----+----------+
| 1 | 11:23:09 |
| 2 | 19:07:25 |
| 3 | 03:14:10 |
| 4 | 20:02:43 |
+----+----------+