Подтвердить что ты не робот

Получить последний день месяца?

Возможный дубликат:
PHP в последний день месяца

Есть ли какая-либо функция типа $date->getMonthDays() или $date->getLastDayOfMonth() в PHP, чтобы получить количество дней в данном месяце (или номер последнего дня)?

$start = new DateTime('2012-02-01');
$end   = clone $start;

// Interval = last day of the month minus current day in $start
$interval = $start->getLastDayOfMonth() - intval($start->format('j'));
$end->add(new DateInterval('P' . $interval . 'D'));

EDIT: спасибо, проголосовали за закрытие, это дубликат, извините за вопрос...

4b9b3361

Ответ 2

Проще получить дату последнего месяца

echo date("Y-m-t", strtotime("-1 month") ) ;
echo date("Y-m-1", strtotime("-1 month") ) ;

3 марта возвращает

2011-02-28
2011-02-1

Ответ 3

t дает общее количество дней в текущем месяце. j дает текущий день месяца.

Используя modify и некоторое вычитание из format -вдача datetime, вы можете добраться до конца месяца.

$date = new DateTime();
$lastDayOfMonth = $date->modify(
  sprintf('+%d days', $date->format('t') - $date->format('j'))
);