Все ленты — последние статьи

Форматируем дату, полученную из БД

Я делаю свою CMS и в модуле новостей возникла необходимость преобразовать формат даты, которую возвращает MySQL в более менее приличный вид

Код функции довольно простой и при желании его легко изменить для своих нужд. Данная функция позволяет выводит дату в формате ДЕНЬ_НЕДЕЛИ, ЧИСЛО МЕСЯЦ ГОД, например Пятница, 27 января 2006 года.

function format_date_html($mysql_date,$case)
{

$array=explode('-',$mysql_date); //Разбиваем MySQL дату на массив

//Создаем русские названия месяцев для последующей замены
$month['01']='января';
$month['02']='февраля';
$month['03']='марта';
$month['04']='апреля';
$month['05']='мая';
$month['06']='июня';
$month['07']='июля';
$month['08']='августа';
$month['09']='сентября';
$month['10']='октября';
$month['11']='ноября';
$month['12']='декабря';



if($array[2]<10) //Если день месяца меньше десяти, то убераем ноль перед числом
{
$array[2]=str_replace(0,'',$array[2]);
}

$day=date('D',mktime(0,0,0,$array[1],$array[2],$array[0])); //Получаем день недели для данной даты

if($case==2) //Если $case=2, то используем дни недели в винительном падеже
{
$weekday['Mon']='понедельник';
$weekday['Tue']='вторник';
$weekday['Wed']='среду';
$weekday['Thu']='четверг';
$weekday['Fri']='пятницу';
$weekday['Sat']='субботу';
$weekday['Sun']='воскресенье';
}
else //А если нет, то в именительном
{
$weekday['Mon']='Понедельник';
$weekday['Tue']='Вторник';
$weekday['Wed']='Среда';
$weekday['Thu']='Четверг';
$weekday['Fri']='Пятница';
$weekday['Sat']='Суббота';
$weekday['Sun']='Воскресенье';
}

//Возвращаем отформатированную дату
return $weekday[$day] . ', ' . $array[2] . ' ' . $month[$array[1]] . ' ' . $array[0] . ' года';
}

Удачи!