Intereting Posts
Требуется очистить буфер в Node.js? Если да, то как? Если нет, то в чем проблема? Zend Framework формы, декораторы и проверки: должен ли я вернуться к простому HTML? Как создать рекурсивную функцию для отображения всех комбинаций многоуровневого массива? Как я могу прочитать файл .tar.gz с PHP? Ошибка анализа: ошибка синтаксиса, неожиданный $ end в home / search.php в строке 65 PHP-конструкторы и статические функции Могу ли я использовать автономный уровень базы данных Laravel? PHP «preg_replace», чтобы добавить параметр запроса к любым URL-адресам определенного домена PHP – условный оператор не работает должным образом Как я могу заставить Netbeans использовать операторы импорта вместо полных имен классов в автозаполнении? Извлечение детей из XML с помощью PHP Parse CSV, расположенный на другом сервере с PHP, JavaScript Миграции доктрины: в пространстве имен "" отсутствуют команды PHP регулярное выражение для исправления взлома сайта WordPress PHPSpec и Laravel – как обращаться с двойным методом не найдены проблемы

strtotime 'next month' не действует, как ожидалось (сегодня это так)

Это происходит только на 31-м

echo date('F',strtotime('this month')); //May echo date('F',strtotime('next month'));//July echo date('F',strtotime('+1 month'));//July 

Насколько я понимаю, июнь приходит после мая. Но я предполагаю, что php ленится только через 31 день, пропуская целый месяц.

Как я могу безопасно получить следующий месяц независимо от длины? В идеале использование strttotime

edit Забыл упомянуть, почему я надеялся использовать strtotime, так это то, что я использую окно поиска для поиска событий, интерпретирующих вход пользователя strtotime

Вероятнее всего, самый надежный способ:

 date('F', mktime(0, 0, 0, date('n') + 1, 1)) 

Вы также можете использовать:

 echo date('Ym-d', strtotime("first day of -1 month")); 

Это из-за переполнения даты в том, как PHP обрабатывает дату. Это просто увеличивает месяц на 1. Не существует 31 июня, поэтому он разрешает его, добавляя день, на который затем помещается его в июле. Попробуйте преобразовать его в первый месяц, а затем увеличивать месяц.

Это ошибка, но из-за того, как она есть и как долго она там была отмечена как wontfix. https://bugs.php.net/bug.php?id=66988