[revo]русская дата в modx

Тема в разделе "MODx", создана пользователем web-in, 24 дек 2011.

  1. web-in

    web-in Постоялец

    Регистр.:
    13 окт 2010
    Сообщения:
    74
    Симпатии:
    7
    Подскажите как вывести русскую дату.
    Перепробовал все.
    Код:
    setlocale (LC_ALL, 'ru_RU.UTF-8');
    $strtime  = strftime("%A %d, %Y", $mtime);
    и прочее .. ничего не помогает

    Что не у кого проблемы не было, или все php знают.
     
  2. avk02

    avk02 Писатель

    Регистр.:
    1 апр 2007
    Сообщения:
    5
    Симпатии:
    1
    И про сниппет datarus ничего не находили?
    <?php
    $MyDate= (isset($MyDate)) ? $MyDate: $modx -> documentObject['MyDate'];
    $type= (isset($type)) ? $type: $modx -> documentObject['type'];
    $monthes = array('','янв','февр','мар','апр','мая','июня','июля','авг','сен','окт','нояб','дек');
    $day = date("j" ,$MyDate);
    $month = $monthes[date("n",$MyDate)];
    $year = date("Y",$MyDate);
    $h = date("G",$MyDate);
    $i = date("i",$MyDate);
    $nday=date("j");
    $nh=date("G");
    $ni = date("i");
    if(!$type){
    if($nday==$day && $hh<10){
    $hh=$nh-$h;$ii=$i-$ni;
    if($hh==1){$ht=" час ";}
    if($hh<=4 && $hh!=1){$ht=" часа ";}
    if($hh>4){$ht=" часов ";}
    $nowy=abs($hh).$ht.abs($ii)." мин."; echo "Опубликовано ".$nowy." назад";}
    else{echo $day.' '.$month.' '.$year.' года'." (".$h.":".$i.")";}
    }
    else{echo "$month <span>$day</span> ";}
    ?>

    ЗЫ У меня была такая проблема, всё решило добавление строки
    setlocale(LC_TIME, "ru_RU.UTF8");
    в начале файла index.php (после строки error_reporting(E_ALL | E_STRICT);)
     
  3. web-in

    web-in Постоялец

    Регистр.:
    13 окт 2010
    Сообщения:
    74
    Симпатии:
    7
    Не помогло, возможно что где то в денвере проблема.
    Скорей всего дело в денвере, тк на сервере все OK
     
  4. web-in

    web-in Постоялец

    Регистр.:
    13 окт 2010
    Сообщения:
    74
    Симпатии:
    7
    Странно .. где выводилось через чанк там сработало, а где просто страница там НЕТ.
    .. Да и снипет выводит странную дату "1 янв 1970 года"
     
  5. konishoa

    konishoa Постоялец

    Регистр.:
    22 сен 2010
    Сообщения:
    126
    Симпатии:
    36
  6. Krogrim

    Krogrim Создатель

    Регистр.:
    10 мар 2012
    Сообщения:
    23
    Симпатии:
    6
    Это дефолтная дата, выводится когда у страницы не указана дата публикации. Возможно в этом и есть проблема?
     
  7. web-in

    web-in Постоялец

    Регистр.:
    13 окт 2010
    Сообщения:
    74
    Симпатии:
    7
    Сервер джино

    К сожалению дата указанна. Все уже перепроверил, пока не могу понять в чем дело ((
     
  8. Krogrim

    Krogrim Создатель

    Регистр.:
    10 мар 2012
    Сообщения:
    23
    Симпатии:
    6
    Хмм, а Вы пробовали данный сниппет:

    PHP:
    <?php
    function returnDate($num$tipe){
            
    $str;
            switch(
    $tipe){
                case 
    "month":
                    
    $month_name = array("""Января""Февраля""Марта""Апреля""Мая""Июня""Июля""Августа""Сентября""Октября""Ноября""Декабря");
                    
    $str $month_name[floor($num)];
                    break;
                case 
    "day":
                    
    $day_name = array("""Понедельник""Вторник""Среда""Четверг""Пятница""Суббота""Воскресенье");
                    
    $str $day_name[floor($num)];
                    break;
            }
            return 
    $str;
        }
     
    echo 
    date("j") . " " returnDate(date("n"), "month") . " " date("Y") . "<br /><em>" returnDate(date("N"), "day")."</em>";
    ?>
    Он рабочий 100%, если нет то проблема в локальном хосте и она отпадет при заливке на сервер. Ну, а если останется, то единственное, что могу посоветовать, обратиться на сайт русского комьюнити.
     
  9. Stas-P

    Stas-P

    Регистр.:
    7 сен 2013
    Сообщения:
    165
    Симпатии:
    125
    Вывод русских дат решается очень просто.
    Достаточно зайти в "Настройки системы", выбрать "Словать и языки" и указать "Локаль (locale)" - ru_RU.UTF-8
    После этого дата будет выводиться по русски.