Вывести дату из 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. Выводит уже склоненное название месяца в зависимости от номера месяца

Комментарии
Добавить комментарий

Ваш адрес email не будет опубликован.

Sidebar