Вывести дату из MySQL в читабельном виде
Не успел я написать как преобразовать дату из формата MySQL в нормальный вид средствами php, можете прочитать про это здесь, Как тут же нашлось решение, как это сделать средствами MySQL.
В MySQL существует возможность преобразовывать дату на лету в читабельный нормальный вид в самом запросе используя функцию DATE_FORMAT
Пример запроса представлен ниже:
SELECT DATE_FORMAT( createdate, '%d %M %Y %T' ) FROM news |
где `createdate` поле с типом данных DATETIME в таблице` news`.
Полученная дата будет выглядеть так:
27 April 2010 11:32:00
Чтобы создать свой формат выводимых данных смотрим следующую таблицу:
Определитель | Описание |
%M | Название месяца (January…December) |
%W | Название дня недели (Sunday…Saturday) |
%D | День месяца с английским суффиксом (0st, 1st, 2nd, 3rd и т.д.) |
%Y | Год, число, 4 разряда |
%y | Год, число, 2 разряда |
%X | Год для недели, где воскресенье считается первым днем недели, число, 4 разряда, используется с ‘%V’ |
%x | Год для недели, где воскресенье считается первым днем недели, число, 4 разряда, используется с ‘%v’ |
%a | Сокращенное наименование дня недели (Вс…Сб) |
%d | День месяца, число (00..31) |
%e | День месяца, число (0..31) |
%m | Месяц, число (00..12) |
%c | Месяц, число (0..12) |
%b | Сокращенное наименование месяца (Jan…Dec) |
%j | День года (001..366) |
%H | Час (00..23) |
%k | Час (0..23) |
%h | Час (01..12) |
%I | Час (01..12) |
%l | Час (1..12) |
%i | Минуты, число (00..59) |
%r | Время, 12-часовой формат (hh:mm:ss [AP]M) |
%T | Время, 24-часовой формат (hh:mm:ss) |
%S | Секунды (00..59) |
%s | Секунды (00..59) |
%p | AM или PM |
%w | День недели (0=воскресенье..6=суббота) |
%U | Неделя (00..53), где воскресенье считается первым днем недели |
%u | Неделя (00..53), где понедельник считается первым днем недели |
%V | Неделя (01..53), где воскресенье считается первым днем недели. Используется с `%X’ |
%v | Неделя (01..53), где понедельник считается первым днем недели. Используется с `%x’ |
%% | Литерал `%’. |
И на затравку функция ELT
ELT( MONTH(createdate), 'Января','Февраля','Марта','Апреля','Мая','Июня', 'Июля','Августа','Сентября','Октября','Ноября','Декабря' ) |
где, createdate поле с типом даных DATETIME. Выводит уже склоненное название месяца в зависимости от номера месяца
Как добавить ELT в запрос?