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.