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

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

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

Артур
21 июня 2022, 20:34
0
Написать сниппет, который прибавит к текущей дате 86400 секунд.
    Ivan
    22 июня 2022, 10:09
    +2
    Вас в гугле забанили что ли?
    strtotime('+1 day')
    А если прям датой, то
    return date('d.m.Y', strtotime('+1 day'));
      Артур
      22 июня 2022, 10:48
      0
      И в чём принципиальная разница между вашим кодом и этим?
      return date('d.m.Y', time()+86400);
      Или фраза про гугл понравилась и вставляете где придётся?
        vectorserver
        22 июня 2022, 12:31
        -1
        strtotime элегантнее!
          Артур
          22 июня 2022, 12:57
          0
          Я спрашивал «В чём ПРИНЦИПИАЛЬНАЯ разница», а не ваше личное мнение, оно мне неинтересно, т.к. является субъективным.
            vectorserver
            22 июня 2022, 13:29
            +2
            Функция strtotime учитывает часовой пояс, а time — нет, возвращает unix-timestamp.
          Ivan
          22 июня 2022, 17:28
          0
          Я писал автору а не вам. Не туда кликнул. Извините. К вам вопросов не было никаких!
          Игорь
          22 июня 2022, 14:07
          0
          Работает) только выводит 23.06.22…
          а как месяц текущий вывести буквами?
            Игорь
            22 июня 2022, 14:32
            0
            <?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
              0
              вот так сделал вывод месяца…
              но, а если будет 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
                0
                $nextDay = strtotime("+1 day");
                
                ...
                $month = date('m',$nextDay);
                ...
                  Игорь
                  22 июня 2022, 18:44
                  0
                  выводит 06.
                  а мне нужно было 23 июня. и 31 июня, но не 32 июня.
                    Игорь
                    22 июня 2022, 18:53
                    0
                    ну че-то пытаюсь, вроде опять не то

                    $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
                      0
                      во!!! вот так кажется то, что надо, только выводит 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
                        0
                        Ну естественно неверно, 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
                          -1
                          а вот это не тоже самое?

                          <?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
                    0
                      vectorserver
                      22 июня 2022, 20:46
                      1
                      +1
                      <?php
                      setlocale(LC_ALL, 'ru_RU.utf8');
                      $offset = strtotime('+1 day');
                      echo strftime("%A %e %B %Y", $offset);
                        Игорь
                        22 июня 2022, 20:48
                        0
                        четко) но склонять все равно надо (июня). а в систему если лезть, менять в языках, но круто 3 строчки кода всего

                        до Четверг 23 Июнь 2022!
                          vectorserver
                          22 июня 2022, 20:53
                          +1
                          Тогда только так
                          <?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
            0
            Всем большое спасибо за помощь, получилось сразу 2-3 варианта ))
              Роман
              23 июня 2022, 09:34
              0
              Самый обсуждаемый вопрос. =)))
                Константин Ильин
                23 июня 2022, 10:16
                0
                Повышаем популярность)

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

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