Полезные функции для преобразования даты из MySQL формата

Категория: Веб-программирование| Полезные заметки

20 Авг 2011

mysqlДаты в MySQL содержатся в формате YYYY-MM-DD HH:MM:SS, что для отображения на сайте является не совсем удобным и красивым. Допустим мы хотим вывести дату в виде – 12 июля 2011! Сделать это нам помогу очень полезные функции преобразования даты:

function mysql_russian_date($datestr = ''){
if ($datestr == '')
return '';
// получаем значение даты и времени
list($day) = explode(' ', $datestr);
switch( $day )
{
// Если дата совпадает с сегодняшней
case date('Y-m-d'):
$result = 'Сегодня';
break;
//Если дата совпадает со вчерашней
case date( 'Y-m-d', mktime(0, 0, 0, date("m")  , date("d")-1, date("Y")) ):
$result = 'Вчера';
break;
default:
{
// Разделяем отображение даты на составляющие
list($y, $m, $d)  = explode('-', $day);
$month_str = array(
'января', 'февраля', 'марта',
'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября',
'октября', 'ноября', 'декабря'
);
$month_int = array(
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12'
);
// Замена числового обозначения месяца на словесное (склоненное в падеже)
$m = str_replace($month_int, $month_str, $m);
// Формирование окончательного результата
$result = $d.' '.$m.' '.$y;
}
}
return $result;
}
function mysql_russian_datetime($datestr = ''){
if ($datestr == '')
return '';
// Разбиение строки в 3 части - date, time and AM/PM
$dt_elements = explode(' ',$datestr);
// Разбиение даты
$date_elements = explode('-',$dt_elements[0]);
// Разбиение времени
$time_elements =  explode(':',$dt_elements[1]);
// вывод результата
$result1 = mktime($time_elements[0],$time_elements[1],$time_elements[2], $date_elements[1],$date_elements[2], $date_elements[0]);
$monthes =
array(' ','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$days =
array(' ','понедельник','вторник','среда','четверг','пятница','суббота','воскресенье');
$day = date("j",$result1);
$month = $monthes[date("n",$result1)];
$year = date("Y",$result1);
$hour = date("G",$result1);
$minute = date("i",$result1);
$dayofweek = $days[date("N",$result1)];
$result = $day.' '.$month.' '.$year;
return $result;
}

В обоих функциях в строке $result = … вы можете настроить вывод в том формате, в каком вам необходимо!

Кстати, очень интересно:

Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com Поделится ссылкой на yandex.ru

Написать комментарий

Вы должны Войти, чтобы оставить комментарий.

О блоге

Данный блог создан с целью помочь, как начинающему вебмастеру, так и опытному разработчику, в решении проблем возникающих при разработке сайтов. Здесь Вы прочитаете полезные статьи о том, как грамотно произвести SEO оптимизацию своего сайта, и найдёте важные исследования в сфере интернет-маркетинга. Научитесь писать собственные компоненты и модули для известных CMS, а также узнаете интересные методы работы с Фреймворками, CSS, HTML, jQuery и PHP. Из записей блога вы поймёте как грамотно разрабатывать макеты сайтов и что такое валидная вёрстка. БЛОГZOR – поможет Вам стать web-Гуру и понять тонкости веб-мастеринга.

Последние комментарии

  • Амир: форма появилась на сайте, но письмо не приходит на [...]
  • Ян: Все нравится, единственное, раскрывающийся блок мо [...]
  • СПАСИБО!: Спасибо тебе! Замечательная функция. очень помогла [...]
  • Алексей: Подскажите, а как заставить этот скрипт отработать [...]
  • Дмитрий: Заработало, надо было малость поменять путь в conf [...]

Можно Скачать