Como obter o último dia do mês com funções PHP

O PHP já tem funções incorporadas que ajudarão a obter o último dia de um determinado mês. As funções DateTime e strtotime são mais úteis neste cenário, embora seja bem conhecido e documentado que strtotime não funcionará com precisão ou dará resultados corretos após o ano de 2038. Entretanto, o strtotime é fantástico para a conversão de datas.

Ambas as funções utilizam o formato t que de acordo com o manual oficial retorna o número de dias no mês de uma determinada data. Observe que a chave para obter o último dia do mês é a letra t que retorna o número de dias em um determinado mês.

PHP DateTime para obter a última data do mês

Este é o melhor método a ser usado para obter a última data de um mês, tanto com datas futuras como com datas passadas. Os parâmetros passados na função format() são - Y, m e t. Essas constantes são definidas em PHP.

Uma representação numérica completa de um ano, 4 dígitos, é representada pela letra Y, por exemplo, 2020. A representação numérica de um mês, com zeros à esquerda, é representada pela letra m, que é de 01 a 12. E o número de dias no mês em questão é representado pela letra t.

Esta é a melhor opção se a versão PHP utilizada for depois de 5.3.

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

O código acima fornece a função DateTime com uma data e utilizando os caracteres de formato Y-m-t para obter a última data do mês na data fornecida.

PHP strtotime() para obter a última data do mês

strtotime() é a melhor opção para a versão PHP antes da 5.2.

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

Artigo relacionado - PHP DateTime

  • Como obter o ano atual em PHP