Cómo obtener el último día del mes con las funciones PHP
PHP ya tiene incorporadas funciones que ayudarán a obtener la última fecha de un mes determinado. Las funciones DateTime
y strtotime
son muy útiles en este escenario, aunque es bien sabido y documentado que strtotime
no funcionará con precisión ni dará resultados correctos después del año 2038. Sin embargo, el strtotime
es genial para convertir fechas.
Ambas funciones utilizan el formato t
que, según el manual oficial, devuelve el número de días del mes de una fecha determinada. Nota: la clave para obtener el último día del mes es la letra t
que devuelve el número de días de un mes determinado.
PHP DateTime
para obtener la última fecha del mes
Es el mejor método para obtener la última fecha de un mes con fechas futuras y pasadas. Los parámetros que se pasan en la función format()
son - Y
, m
y t
. Estas constantes están definidas en PHP.
Una representación numérica completa de un año, 4 dígitos se representa con la letra Y
, por ejemplo, 2020
. La representación numérica de un mes, con ceros a la izquierda, es con la letra m
, es decir, del 01
al 12
. Y el número de días del mes se representa con la letra t
.
Esta es la mejor opción si la versión PHP usada está después de 5.3
.
$L = new DateTime( '2020-02-01' );
echo $L->format( 'Y-m-t' );
El código de arriba suministra a la función DateTime
una fecha y utiliza los caracteres de formato Y-m-t
para obtener la última fecha del mes en la fecha suministrada.
PHP strtotime()
para obtener la última fecha del mes
strtotime()
es la mejor opción para la versión de PHP anterior a la 5.2.
$date = "2020-01-15";
echo date("Y-m-t", strtotime($date));