Как получить последний день месяца с помощью функций PHP

В PHP уже есть встроенные функции, которые помогут в получении последней даты данного месяца. Функции DateTime и strtotime наиболее полезны в этом сценарии, хотя хорошо известно и документально подтверждено, что strtotime не будет работать точно или давать правильные результаты за прошедший 2038 год. Однако, strtotime отлично подходит для преобразования дат.

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

PHP DateTime для получения последней даты месяца

Это лучший способ получить последнюю дату месяца, как с будущей, так и с прошлой датой. Параметры, передаваемые в функции format(), это - Y, m и t. Эти константы определены в PHP.

Полное числовое представление года, 4 цифры представлены буквой Y, например 2020. Числовое представление месяца, с ведущими нулями, - это буква m, это от 01 до 12. А количество дней в данном месяце представлено буквой t.

Это лучший вариант, если используемая версия PHP после 5.3.

$L = new DateTime( '2020-02-01' ); 
echo $L->format( 'Y-m-t' );

Код выше предоставляет функцию DateTime с датой и использованием символов формата Y-m-t для получения последней даты месяца на указанную дату.

PHP strtotime() для получения последней даты месяца

strtotime() является лучшим вариантом, если PHP используется до 5.2.

$date = "2020-01-15";
echo date("Y-m-t", strtotime($date));
comments powered by Disqus