Obtener fecha de inicio y fin de mes en PHP

Introducción

Seguimos con las fechas en PHP. Hoy veremos cómo obtener fecha de inicio y fin de mes en PHP. Es decir, la fecha de inicio del mes actual y también la del fin, sin importar que el mes tenga 28, 30 o 31 días.

Por ejemplo, cuando escribo esta entrada es agosto del 2018. La fecha de inicio del mes es 2018-08-01 y la del fin es 2018-08-31.

Si fuera en septiembre, sería 2018-09-01 y 2018-09-30.

En fin, veremos cómo calcular la fecha de inicio y fin del mes sin importar el año o mes.

Cómo obtener fecha de inicio y fin de mes en PHP

Utilizaremos la función date de PHP y algunos modificadores.

Inicio

Recordemos algunas cosas. Para obtener el año utilizamos Y, para el mes m y para el día d. Pero si queremos el inicio del mes, en lugar de d utilizaríamos 01, así:

$inicio = date("Y-m-01"); # 2018-08-01

Como PHP no reconocerá el 01 como un modificador válido, devolverá el 01 así como está. Resultando en algo como 2018-08-01.

Fin

Y para el final del mes, necesitamos saber cuántos días tiene el mes actual. Eso cambia si es año bisiesto, ya que febrero tiene 28 o 29 días.

Para no complicarnos, PHP ya tiene un modificador que devuelve los días que tiene el mes. Es el modificador t. Así que para sacar la fecha de fin de mes podemos hacer esto:

$inicio = date("Y-m-t"); #2018-08-31

Ejemplo

Aquí dejo un código de ejemplo que muestra lo enseñado arriba. Puedes ejecutarlo si gustas. Por cierto, no olvides establecer bien la zona horaria de tu servidor.

Al ejecutarlo pasa esto:

Obtener fecha de inicio y fin de mes en PHP
Obtener fecha de inicio y fin de mes en PHP

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