Студия веб дизайна, создание сайтов

Сопровождение и техническая поддержка сайтов

10 лет на рынке IT услуг, с нами надежно!

Работаем с датой или название месяца по русски

При создании сайтов, постоянно возникает необходимость работы с датами, датой и временем и т.д. В базе данных они хранятся как правило в полях DATE, DATETIME, в формате не особо удобном для чтения, обычным пользователем гггг-мм-дд либо гггг-мм-дд чч:мм:сс. Согласитесь куда приятнее и удобнее читать дату, к примеру: 12 февраля 2010, нежели 2010-02-12. Решается данный вопрос довольно просто, для этих целей мы написали, на php небольшую функцию которая выводит дату и если нужно время, в удобо читаемом формате.

Вот собственно сама функция:

// Собственно $дата, $время, $секунды, $разделитель даты и времени
function ruData($data, $time = false, $sek = false, $razd = ', '){
$dat = preg_split("(-| |:)", $data);
$mon = array(1 => 'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$mes = (!empty($dat[1]) && ($dat[1] < 10)) ? $mon[$dat[1]{1}] : $mon[$dat[1]];
$day = (!empty($dat[2]) && ($dat[2] < 10)) ? $dat[2]{1} : $dat[2];
$sek = (!empty($dat[5]) && ($sek == true)) ? ":".$dat[5] : NULL;
$time = (!empty($dat[3]) && !empty($dat[4]) && ($time == true)) ? $razd.$dat[3].":".$dat[4].$sek : NULL;
return $day." ".$mes." ".$dat[0].$time;
}

Пример работы функции:

// Выводит - 12 февраля 2010
echo ruData("2010-02-12 18:32:15");

// Выводит - 12 февраля 2010, 18:32
echo ruData("2010-02-12 18:32:15",true);

// Выводит - 12 февраля 2010, 18:32:15
echo ruData("2010-02-12 18:32:15",true,true);

Все просто, удобно и наглядно! Выводим дату или дату и время в удобо читаемом виде, при этом в базе данных она хранится в формате удобном для обработки, сортировки и сравнения.