Формат месяца в дате Есть решение

Как можно изменить формат месяца при выводе даты. К примеру вывожу в нужном месте месяц публикации {$post['datetime']|date_format:'M'}, в итоге получаю нужный формат месяца "Jan" или "Oct", но на английском. Как можно их вывести на русском, к примеру "Янв" или "Окт"?

9 ответов

  • 2
    Эрик Webasyst 5 октября 2015 04:19 #

    Возможно вам поможет инструкция https://www.webasyst.ru/developers/docs/basics/classes/waDatetime/

    • +1
      Иван Иван 7 апреля 2016 17:04 #

      waDateTime::date('M', '08-04-2016', null, 'ru_RU') всё равно выводит на английском. Без хелпера никак?

      • +1

        strftime('%b',strtotime($post.datetime))

        Будте осторожны — зависит от настроек локали сервера


        • +1
          Иван Иван 7 апреля 2016 19:18 #

          Спасибо за ответ, но strftime тут не поможет. Про локаль сервера тоже подумал, но проверять лень, мы пойдём другим путём (превозмогая_трудности.жпг)

          Может кому понадобится ещё, оставлю на всякий случай

          public static function short_month_rus($month) {
                $short_m = array(
                  1 => "Янв", 2 => "Фев", 3 => "Мар", 4 => "Апр", 5 => "Май", 6 => "Июн", 7 => "Июл", 8 => "Авг", 9 => "Сен", 10 => "Окт", 11 => "Ноя", 12 => "Дек"
                );
                return str_replace($month, $short_m[(int)date('m', $timestamp)], $month);
              }
          {shopCustom::short_month_rus($post.datetime|wa_date:'n')
          • +1

            Ради этого хелпер городить?

            Smarty:

            {$ru_months = [1 => "Янв", 2 => "Фев", 3 => "Мар", 4 => "Апр", 5 => "Май", 6 => "Июн", 7 => "Июл", 8 => "Авг", 9 => "Сен", 10 => "Окт", 11 => "Ноя", 12 => "Дек"]}
            
            {$ru_months[date('n', $timestamp)]}
            
            • +1
              Иван Иван 9 апреля 2016 15:03 #

              Ну я как-то привык все костыли в одном месте держать) А что, есть какие-то дополнительные накладные расходы при обработке хелпера или это просто вопрос лишних движений?

            • +1
              Виктор Виктор 20 марта 2019 17:53 #

              Что-то не совсем ясно, как применить ваш код. Вот к примеру есть вывод месяца:

              {$post.datetime|wa_datetime:"%B"}

              Как применить ваш код?

  • 1
    {$ru_months = [1 => "Янв", 2 => "Фев", 3 => "Мар", 4 => "Апр", 5 => "Май", 6 => "Июн", 7 => "Июл", 8 => "Авг", 9 => "Сен", 10 => "Окт", 11 => "Ноя", 12 => "Дек"]}  
    
    {$ru_months[date($post.datetime|wa_date:'n')]}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите