PHP – Fecha del mes pasado

En este post sobre PHP y fechas te mostraré cómo obtener la fecha del mes pasado. Por ejemplo, hoy es 8 de febrero de 2021, así que la fecha del mes pasado es enero de 2021.

De igual forma, si estuviéramos en enero de 2021, la fecha del mes pasado sería diciembre de 2020.

Veamos entonces cómo obtener la fecha del mes pasado usando PHP, date y strtotime.

Mes pasado con PHP

Gracias a la magia de strtotime podemos simplemente usar la cadena mágica last day of previous month, mismo que nos devolverá el tiempo en segundos del último día del mes pasado.

Ahora que tenemos ese tiempo, podemos formatear la fecha usando date pasándole esos segundos.

Ejemplo: obtener fecha completa de hace un mes

Voy a mostrarte un ejemplo simple para mostrar la fecha de hace un mes. Queda así:

La salida para en este caso (tomando en cuenta la fecha y hora en la que escribo el post, misma que es 2021-02-08 09:47:20) es:

Último día de hace un mes: 2021-01-31 09:47:20

Aquí lo importante es la fecha, aunque sea sin hora. Puedes probar el código aquí.

Mes y año anterior

Para terminar el post veamos cómo obtener solo el mes y el año del mes pasado, aunque suene algo confuso.

Por cierto, esta función es totalmente segura y devolverá siempre resultados correctos. Por ejemplo, si estamos en enero de 2021 y usamos este método, nos dirá que el mes anterior es diciembre de 2020.

Puedes ejecutar el código aquí.

Conclusión

La función strtotime de PHP se me hace muy poderosa, pues permite trabajar con fechas de manera precisa. El programador se puede confiar en que todos los cálculos serán correctos.

En mi blog tengo más artículos sobre PHP y fechas.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *