Вопрос по дате публикации

Приветствую всех!

Возник вопрос, как указать в rss дату
[[+publishedon:date=`%a, %d %b %Y %H:%M:%S +0400`]]

Но с условием + 1 или 2 часа

Мне нужно чтобы когда я публиковал статью например в 13:00
В ленте RSS она выводилась как в 14:00

Буду благодарен за помощь
Андрей
16 октября 2019, 22:33
modx.pro
781
0

Комментарии: 9

Андрей
16 октября 2019, 23:01
+1
Не совсем ясно зачем такое надо, но можно написать модификатор который будет добавлять к дате 1-2 часа и дальше форматировать в нужный вид.
    Сергей Шлоков
    17 октября 2019, 07:43
    +2
    [[+publishedon:strtotime:add=`3600`:date=`%a, %d %b %Y %H:%M:%S +0400`]]
      Андрей
      18 октября 2019, 11:16
      0
      С таким вариантом вывода прописывает во всех item в rss 1970 год)
      ElenaLelo
      18 октября 2019, 11:33
      0
      Напишите свой небольшой модификатор для даты, например, назовете Datenew:
      <?php
      $month_arr = array(
      '01' => 'Января',
      '02' => 'Февраля',
      '03' => 'Марта',
      '04' => 'Апреля',
      '05' => 'Мая',
      '06' => 'Июня',
      '07' => 'Июля',
      '08' => 'Августа',
      '09' => 'Сентября',
      '10' => 'Октября',
      '11' => 'Ноября',
      '12' => 'Декабря'
      );
       
      
      $time = strtotime($input);
      $hour = strftime('%H', $time) + 1; // прибавляем единичку к часу
      $month = strftime('%m', $time);
      $day = strftime('%d', $time);
      $year = strftime('%Y', $time);
      return $hour." часов ".$day." ".$month_arr[$month]." ".$year;
      Вызов такой:
      [[*publishedon:Datenew]]
        Андрей
        18 октября 2019, 11:50
        0
        Скопировал

        Теперь выводит так

        <pubDate>1571387421</pubDate>
          Андрей
          18 октября 2019, 11:53
          0
          А нет, приношу извинения, вместо звездочки + поставил

          Но в любом случае вывел теперь так

          2019-10-16 21:17:00

          Исходный вариант

          Fri, 18 Oct 2019 11:30:21 +0300
            Андрей
            18 октября 2019, 11:53
            0
            То-есть и дата не верная и время прибавил на пол дня вперед)
            Андрей
            18 октября 2019, 12:06
            0
            В общем сниппет модифицировал, привел в тот вид, который нужен

            Но он выводит на всех публикациях одно и тоже время 21:17:00

            <?php
            $month_arr = array(
            '01' => 'Jan',
            '02' => 'Feb',
            '03' => 'Mar',
            '04' => 'Apr',
            '05' => 'May',
            '06' => 'Jun',
            '07' => 'Jul',
            '08' => 'Aug',
            '09' => 'Sep',
            '10' => 'Oct',
            '11' => 'Nov',
            '12' => 'Dec'
            );
             
            
            $time = strtotime($input);
            $week = strftime('%a', $time);
            $hour = strftime('%H', $time) +1; // прибавляем единичку к часу
            $minutes = strftime('%M', $time);
            $second = strftime('%S', $time);
            $month = strftime('%m', $time);
            $day = strftime('%d', $time);
            $year = strftime('%Y', $time);
            return $week.", ".$day." ".$month_arr[$month]." ".$year." ".$hour.":".$minutes.":".$second;
            Андрей
            18 октября 2019, 12:14
            0
            Рабочий вариант

            <?php
            $month_arr = array(
            '01' => 'Jan',
            '02' => 'Feb',
            '03' => 'Mar',
            '04' => 'Apr',
            '05' => 'May',
            '06' => 'Jun',
            '07' => 'Jul',
            '08' => 'Aug',
            '09' => 'Sep',
            '10' => 'Oct',
            '11' => 'Nov',
            '12' => 'Dec'
            );
             
            
            $time = $input;
            $week = strftime('%a', $time);
            $hour = strftime('%H', $time) +1; // прибавляем единичку к часу
            $minutes = strftime('%M', $time);
            $second = strftime('%S', $time);
            $month = strftime('%m', $time);
            $day = strftime('%d', $time);
            $year = strftime('%Y', $time);
            return $week.", ".$day." ".$month_arr[$month]." ".$year." ".$hour.":".$minutes.":".$second;
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              9