PHP date() — вывод русского месяца

Author Роман Чернышов    Category PHP     Tags , Комментариев 4 Дата 1 Мар

rdate PHP date()   вывод русского месяцаРаботая над различными веб-проектами (как правило программирование — PHP), практически везде и всегда приходится работать с данными содержащие атрибут — даты. Например дата добавления новости на сайт. И вроде бы все предельно просто и понятно — там где нужно вывести дату, пользуемся командой PHP для вывода даты в любом заданном формате date(). Но она не умеет выводить месяц на русском языке.

В итоге я быстренько накидал функцию, которая заменит мне стандартную функцию для вывода форматированной даты и будет выводить русский месяц.

Привожу код функции:

function rdate($param, $time=0) {
	if(intval($time)==0)$time=time();
	$MonthNames=array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
	if(strpos($param,'M')===false) return date($param, $time);
		else return date(str_replace('M',$MonthNames[date('n',$time)-1],$param), $time);
}

Пример работы обычной команды data(«d M Y»);
Выведет результат: 01 Mar 2012

Пример работы новой функции rdate(«d M Y»);
Выведет результат: 01 Марта 2012

string rdate ( string $format [, int $timestamp = time() ] )

Во всем остальном новая функция rdate() работает точно также как и стандартная функция. Для вывода месяца в форматированной дате используется латинский символ «M». Так же возможен второй параметр функции, для указания метки времени — timestamp.

Хороший пост на данную тему, о выводе правильной даты в PHP, можно прочитать в блоге начинающего админа и сеошника. К слову сказать тема раскрыта достаточно полно, благодаря чему данную задачу получится решить с максимальной отдачей.

4 комментария to “PHP date() — вывод русского месяца”

  • Алексей 20.10.2012 в 6:03 пп

    Спасибо — только начал гуглить как решить вопрос, нашёл какой-то колоссальный класс на php.net, а это — простое и красивое решение — спасибо )

  • Андрей 22.11.2012 в 2:57 пп

    Немного модифицировал функцию и теперь можно выводить день недели на русском языке

    PHP
    function rdate($param, $time=0) {
    if(intval($time)==0)$time=time();
    $MN=array(«Января», «Февраля», «Марта», «Апреля», «Мая», «Июня», «Июля», «Августа», «Сентября», «Октября», «Ноября», «Декабря»);
    $MonthNames[]=$MN[date(‘n’,$time)-1];
    $MN=array(«»,»Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Суббота», «Воскресенье»);
    $MonthNames[]=$MN[date(‘w’,$time)];
    $arr[]=’M’;
    $arr[]=’N’;
    if(strpos($param,’M’)===false) return date($param, $time); else return date(str_replace($arr,$MonthNames,$param), $time);
    }
    //пример
    echo rdate(‘j M Y г. (N) в H:i’);

    • Алексей 06.02.2013 в 10:54 дп

      Внес поправки:
      $MN=array(«Воскресенье»,«Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Суббота»);

      У буржуев воскресенье — начало недели.

  • PHPbot 05.04.2013 в 3:49 дп

    $m_arr = array(1 => ‘Январь’, 2 => ‘Февраль’, 3 => ‘Март’, 4 => ‘Апрель’, 5 => ‘Май’, 6 => ‘Июнь’, 7 => ‘Июль’, 8 => ‘Август’, 9 => ‘Сентябрь’, 10 => ‘Октябрь’, 11 => ‘Ноябрь’, 12 => ‘Декабрь’);
    echo $m_arr[date(‘n’)];

Оставить комментарий

Консультации

Консультант Чернышов Р.В. Зайдайте вопрос на любую из тем:
Бесплатно и без регистрации!

Задать вопрос
Все вопросы
Последние вопросы
Поиск по блогу
Категории
Архив
Новое на сайте
Портфолио Все работы


www.detskiy-mir.net
www.detskydoctor.ru
www.betelit.ru
www.all-alliance.ru
www.videogonok.ru
www.carpfishing.by
www.property-greek.com
www.domcons.ru

с 2009 года по сегодняшний день, создано более 300 сайтов...