Вывести завтрашнюю дату. Если сегодня 21 июня, вывести 22 июня

А как вывести завтрашнюю системную дату сайта (или сервера) на modx Revo.
Если сегодня 21 июня, вывести 22 июня. Дату брать системную, ну или любую другую.
Игорь
Игорь
21 июня 2022, 12:38
modx.pro
1 705

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

Артур Шевченко
21 июня 2022, 20:34
Написать сниппет, который прибавит к текущей дате 86400 секунд.
    Ivan
    22 июня 2022, 10:09
    Вас в гугле забанили что ли?
    strtotime('+1 day')
    А если прям датой, то
    return date('d.m.Y', strtotime('+1 day'));
      Артур Шевченко
      22 июня 2022, 10:48
      И в чём принципиальная разница между вашим кодом и этим?
      return date('d.m.Y', time()+86400);
      Или фраза про гугл понравилась и вставляете где придётся?
        vectorserver
        22 июня 2022, 12:31
        strtotime элегантнее!
          Артур Шевченко
          22 июня 2022, 12:57
          Я спрашивал «В чём ПРИНЦИПИАЛЬНАЯ разница», а не ваше личное мнение, оно мне неинтересно, т.к. является субъективным.
            vectorserver
            22 июня 2022, 13:29
            Функция strtotime учитывает часовой пояс, а time — нет, возвращает unix-timestamp.
          Ivan
          22 июня 2022, 17:28
          Я писал автору а не вам. Не туда кликнул. Извините. К вам вопросов не было никаких!
          Игорь
          22 июня 2022, 14:07
          Работает) только выводит 23.06.22…
          а как месяц текущий вывести буквами?
            Игорь
            22 июня 2022, 14:32
            <?php
            
            $arr = array(
                '01' => 'Января',
                '02' => 'Февраля',
                '03' => 'Марта',
                '04' => 'Апреля',
                '05' => 'Мая',
                '06' => 'Июня',
                '07' => 'Июля',
                '08' => 'Августа',
                '09' => 'Сентября',
                '10' => 'Октября',
                '11' => 'Ноября',
                '12' => 'Декабря'
            );
            
            $d = $input;
            
            $month = date('m',$d);
            $month = $arr[$month];
            
            return "$month";
            почему-то январь выдает
              Игорь
              22 июня 2022, 15:30
              вот так сделал вывод месяца…
              но, а если будет 32 июня…

              <?php
              
              $arr = array(
                  '01' => 'Января',
                  '02' => 'Февраля',
                  '03' => 'Марта',
                  '04' => 'Апреля',
                  '05' => 'Мая',
                  '06' => 'Июня',
                  '07' => 'Июля',
                  '08' => 'Августа',
                  '09' => 'Сентября',
                  '10' => 'Октября',
                  '11' => 'Ноября',
                  '12' => 'Декабря'
              );
              
              $month = date('m');
              $month = $arr[$month];
              
              return "$month";
                Константин Ильин
                22 июня 2022, 17:59
                $nextDay = strtotime("+1 day");
                
                ...
                $month = date('m',$nextDay);
                ...
                  Игорь
                  22 июня 2022, 18:44
                  выводит 06.
                  а мне нужно было 23 июня. и 31 июня, но не 32 июня.
                    Игорь
                    22 июня 2022, 18:53
                    ну че-то пытаюсь, вроде опять не то

                    $nextDay = strtotime("+1 day");
                     
                     $arr = array(
                        '01' => 'января',
                        '02' => 'февраля',
                        '03' => 'марта',
                        '04' => 'апреля',
                        '05' => 'мая',
                        '06' => 'июня',
                        '07' => 'июля',
                        '08' => 'августа',
                        '09' => 'сентября',
                        '10' => 'октября',
                        '11' => 'ноября',
                        '12' => 'декабря'
                    );
                     $month = date('m',$nextDay);
                     $month = $arr[$month];
                     return date('d'). " $month";
                      Игорь
                      22 июня 2022, 19:17
                      во!!! вот так кажется то, что надо, только выводит 01, 02… если июль будет. ну ладно… конечно лучше без нулей в начале

                      $nextDay = date('d', strtotime('+3 day'));
                       $nextMonth = date('m', strtotime('+3 day'));
                       $arr = array(
                          '01' => 'января',
                          '02' => 'февраля',
                          '03' => 'марта',
                          '04' => 'апреля',
                          '05' => 'мая',
                          '06' => 'июня',
                          '07' => 'июля',
                          '08' => 'августа',
                          '09' => 'сентября',
                          '10' => 'октября',
                          '11' => 'ноября',
                          '12' => 'декабря'
                      );
                      
                      $month = $nextMonth;
                      $month = $arr[$month];
                      return $nextDay .' '. $month;
                        Константин Ильин
                        22 июня 2022, 19:19
                        Ну естественно неверно, date() от завтрашней даты должно работать.
                        <?
                        return date('d',$nextDay). " $month";
                        <?
                        $nextDay = strtotime("+1 day");
                        $arr = array(
                            '01' => 'января',
                            '02' => 'февраля',
                            '03' => 'марта',
                            '04' => 'апреля',
                            '05' => 'мая',
                            '06' => 'июня',
                            '07' => 'июля',
                            '08' => 'августа',
                            '09' => 'сентября',
                            '10' => 'октября',
                            '11' => 'ноября',
                            '12' => 'декабря'
                        );
                         $month = date('m',$nextDay);
                         $month = $arr[$month];
                         return date('d',$nextDay).' '.$month;
                          Игорь
                          22 июня 2022, 19:25
                          а вот это не тоже самое?

                          <?php
                          
                          $arr = array(
                              '01' => 'января',
                              '02' => 'февраля',
                              '03' => 'марта',
                              '04' => 'апреля',
                              '05' => 'мая',
                              '06' => 'июня',
                              '07' => 'июля',
                              '08' => 'августа',
                              '09' => 'сентября',
                              '10' => 'октября',
                              '11' => 'ноября',
                              '12' => 'декабря'
                          );
                          
                           
                          $month = date('m');
                          $month = $arr[$month];
                          
                          return date('d', strtotime('+1 day')). " $month";
                    Игорь
                    22 июня 2022, 19:23
                      vectorserver
                      22 июня 2022, 20:46
                      <?php
                      setlocale(LC_ALL, 'ru_RU.utf8');
                      $offset = strtotime('+1 day');
                      echo strftime("%A %e %B %Y", $offset);
                        Игорь
                        22 июня 2022, 20:48
                        четко) но склонять все равно надо (июня). а в систему если лезть, менять в языках, но круто 3 строчки кода всего

                        до Четверг 23 Июнь 2022!
                          vectorserver
                          22 июня 2022, 20:53
                          Тогда только так
                          <?php
                          function ruDate($format, $date = false) {
                              setlocale(LC_ALL, 'ru_RU.cp1251');
                              if ($date === false) {
                                  $date = time();
                              }
                              if ($format === '') {
                                  $format = '%e %bg %Y г.';
                              }
                              $months = explode("|", '|января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря');
                              $format = preg_replace(/** @lang text */ "~\%bg~", $months[date('n', $date)], $format);
                              $res = strftime($format, $date);
                              return $res;
                          }
                          
                          echo ruDate('%e %bg %Y г.', strtotime('+1 day'));
                          Выведет:
                          23 июня 2022 г.
            Игорь
            22 июня 2022, 21:02
            Всем большое спасибо за помощь, получилось сразу 2-3 варианта ))
              Роман
              23 июня 2022, 09:34
              Самый обсуждаемый вопрос. =)))
                Константин Ильин
                23 июня 2022, 10:16
                Повышаем популярность)

                есть еще замечательный готовый компонент DateAgo

                вызов на феноме
                {'dateAgo' | snippet : ['input' => strtotime('+1 day'), 'dateFormat' => 'F Y']}
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              27