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));