Последний день месяца

В PHP уже есть встроенные функции, которые помогут получить последнюю дату заданного месяца.

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

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

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

Это лучший метод, который можно использовать для получения последней даты месяца как в будущем, так и в прошлом. Параметры, передаваемые в функцию 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, получает последнее число месяца в указанной дате.

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

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

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

Была ли эта страница полезной?