#php
#php
Вопрос:
У меня есть база данных sql со столбцом даты, подобным этому yyyymmdd (20111109), я обычно сортирую свои запросы возврата по дате.
Я хотел бы знать, как преобразовать это в (D jS M) или (Ср. 9 ноября).
Для месяца, даты и порядкового суффикса я использую substr вместе с регистром. но это будний день, из-за которого я расстраиваюсь.
Есть ли более простой метод?
Заранее спасибо.
Ответ №1:
Если вас интересует что-то более сложное:
$date = DateTime::createFromFormat('Ymd', '20111109');
echo $date->format('D jS M');
Это должно быть более надежным в долгосрочной перспективе.
Комментарии:
1. Вау. это именно то, что я искал. точно!
2. Не забывайте, что это работает только в PHP >= 5.3. 5.2.x выдаст вам ошибку при попытке использовать DateTime::createFromFormat(). Обходным путем для этого является использование Zend_Date от Zend Framework.
Ответ №2:
Это должно сработать:
date_default_timezone_set('America/Los_Angeles');
$date = strtotime($your_string);
$formatted_date = date('D jS M', $date);
echo $formatted_date;
Комментарии:
1. А. спасибо миллион человек. Я не думал, что strtotime будет работать подобным образом
2. Np 😉 Не забудьте установить часовой пояс по умолчанию, если вы этого еще не сделали. 😉