У меня есть таблица базы данных MySQL, в которой дата хранится в формате YYYYMMDD. Например: 20121226.
Я хочу показать эту дату в формате DD / MM / YYYY. Например: 26/12/2012
То, что я придумал, – использовать substr
для извлечения дня, месяца и года отдельно. Я хотел бы знать, есть ли более простой способ сделать это.
Кроме того, есть ли способ конвертировать эту дату в формат «26 декабря 2012» без необходимости писать отдельный код?
Вы можете легко использовать класс DateTime для этого.
$retrieved = '20121226'; $date = DateTime::createFromFormat('Ymd', $retrieved); echo $date->format('d/m/Y');
В вашей инструкции SQL вы можете форматировать дату по-разному.
SELECT DATE_FORMAT(date_column, '%d/%m/%Y') AS my_date FROM my_table
Это решение:
SELECT DATE_FORMAT('20121226', '%d/%m/%Y');
=>
DATE_FORMAT('20121226', '%d/%m/%Y') 26/12/2012
ИЛИ
SELECT DATE_FORMAT('20121226', '%W %M %Y');
=>
DATE_FORMAT('20121226', '%W %M %Y') Wednesday December 2012
Проверьте это для большего форматирования: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
См. Эту статью для получения информации о том, как обрабатывать значения DATETIME в PHP и MySQL. http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_201-Handling-date-and-time-in-PHP-and-MySQL.html