Как я могу получить название месяца после текущего месяца?

Следующее дает мне October

 echo date('F');

Я использую следующий код, чтобы дать мне название предстоящего месяца (месяц после этого), поэтому я надеюсь увидеть November,

$nextmonth = date("F",strtotime("+1 months"));

Сегодня 31 октября, но вышеприведенное дает «декабрь». Что я делаю не так? Как я могу получить месяц после текущего месяца?

0

Решение

Используйте относительные форматы, чтобы получить первый день следующего месяца:

echo (new DateTime('first day of next month'))->format('F');

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

PHP 5.3:

$nextMonth = new DateTime('first day of next month');
echo $nextMonth->format('F');
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]