Blog Reacción Estudio

¡Tu zona de aprendizaje!

Añadir o restar dias, meses o años a una fecha con PHP

En la mayoría de nuestros proyectos trabajamos frecuentemente fechas y a veces una tarea tan sencilla como sumar o restar un par de dias a una fecha puede resultar tediosa debido a que no lo hacemos de la forma adecuada.

Utilizando el objeto Datetime de PHP (disponible a partir de la versión 5), trabajaremos con las fechas de forma más rápida y sencilla.

Para sumar o restar dias, meses o años a una fecha concreta con PHP haremos lo siguiente:

Primero obtenemos la fecha actual:

$DatetimeFechaActual = new DateTime("now");

Después dependiendo de si queremos sumar o restar un día, mes o año, utilizaremos uno u otro método:

Para sumar utilizaremos el método add, por ejemplo:

// Sumamos un día a la fecha actual
$DatetimeFechaActual->add(new DateInterval('P1D'));

Para restar utilizaremos el método sub, por ejemplo:

// Restamos un día a la fecha actual
$DatetimeFechaActual->sub(new DateInterval('P1D'));

El formato P1D significa lo siguiente:

P => Significa ‘periodo’. Este caracter no se debe modificar.

1 => Indica el valor numérico que vamos a sumar o restar.

D => Significa día. También podemos utilizar los caracteres M para sumar o restar meses o Y para sumar o restar años.

Entonces utilizando estos formatos podemos facilmente sumar o restar días, meses o años a nuestras fechas.

Por último, vamos a formatear nuestra fecha para poder usarla como un String

$fecha = $DatetimeFechaActual->format('d/m/Y'); // 10/20/2015

Como podéis ver trabajar con fechas con el objeto Datetime de PHP es realmente sencillo.