Конвертировать дату с YYYYMMDD в формат DD/MM/YYYY в PHP

У меня есть таблица базы данных MySQL, в которой дата хранится в формате YYYYMMDD. Например: 20121226.

Я хочу показать эту дату в формате DD/MM/YYYY. Например: 26/12/2012

Я придумал использовать substr для извлечения дня, месяца и года отдельно. Я хотел бы знать, есть ли более простой способ сделать это.

Кроме того, есть ли способ конвертировать эту дату в формат "26 декабря 2012" без необходимости писать отдельный код?

Ответ 1

Вы можете легко использовать класс DateTime для этого

$retrieved = '20121226';
$date = DateTime::createFromFormat('Ymd', $retrieved);
echo $date->format('d/m/Y');

http://php.net/manual/en/datetime.format.php

Ответ 2

В вашей инструкции SQL вы можете форматировать дату по-разному.

SELECT DATE_FORMAT(date_column, '%d/%m/%Y') AS my_date FROM my_table

Ответ 5

Нет необходимости создавать экземпляр класса datetime, потому что strtotime() просто принимает значение даты в форме вашего ввода.

Код: (Демо)

echo date('d/m/Y', strtotime('20121226'));
// output: 26/12/2012