Возможный дубликат:
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: спасибо, проголосовали за закрытие , это дубликат, извините за вопрос …
Функция даты php дает вам количество дней в месяце с 't'
date("t");
Просто получить дату последнего месяца
echo date("Ymt", strtotime("-1 month") ) ; echo date("Ym-1", strtotime("-1 month") ) ;
3 марта возвращается
2011-02-28 2011-02-1
t
дает общее количество дней в текущем месяце. j
дает вам текущий день месяца.
Используя modify
и вычитание из format
datetime, вы можете добраться до конца месяца.
$date = new DateTime(); $lastDayOfMonth = $date->modify( sprintf('+%d days', $date->format('t') - $date->format('j')) );