как изменить формат timestamp в mysql

Можно ли изменить текущий 24-часовой формат, как 22:16:08, на что-то вроде 10:16:08 в mysql? Я хочу изменить способ сохранения этих значений. Возможно ли это, или я просто позволю php обрабатывать вещи для меня?

Не изменяйте способ сохранения этих значений. Измените способ вывода .

См. TIME_FORMAT()

В вашем случае это покажет поле TIME как 10:16:08 PM :

 SELECT TIME_FORMAT(timefield, "%l:%i:%s %p") AS date_formatted; 

Вы всегда должны хранить значения даты / времени в своем родном формате, который в MySQL является 24-часовым форматом. Вы можете изменить способ их получения с помощью

 SELECT DATE_FORMAT(somedatetimefield, 'format string here') FROM table 

где параметры строки формата определены здесь

Если это вручную для каждого запроса является проблемой, вы всегда можете создать представление, чтобы сделать это для вас автоматически.

Вы действительно не должны изменять способ сохранения данных в MySQL. Вместо этого вы должны только представить его по-другому. Вы можете использовать функцию date PHP для форматирования даты в любом случае. Это огромное преимущество, потому что вы отделяете, как данные сохраняются и как данные представлены.

Используя DATEFORMAT, вы можете сохранить / выбрать дату, как вы пожелаете (так же, как синтаксис date() PHP date() )

Как сказал Пекка: Не изменяйте способ сохранения этих значений.

Вы также можете легко справиться с этим в php, используя date()

подобная date("hh:ii:ss") Это выдает формат, который вы использовали в вашем примере. (12-часовой формат и ведущие нули).