strtotime( ) Sumar o restar fechas de forma relativa.

Esta aportación la encontré en el blog de ::programming notes::, me encontraba con la necesidad de aumentar tres días la fecha en la que se realizara un formulario, estuve revisando diferentes web y dí con la respuesta.

La función strtotime() de PHP Nos ayuda a convertir un string a un formato de fecha. Desde la versión 5.3 de PHP también nos sirve para sumar o restar tiempo de forma relativa, es tan fácil como indicar “+1 day” para que se sume un día o “-2 week” para restar  2 semanas a la fecha dada. En la documentación oficial nos indican que este método no se debe de utilizar para operaciones matemáticas más complejas, nos dán alternativas pero por el momento han solucionado mi problema de una forma muy simple.

Recordemos que la funcion date(‘Y-m-d’), nos devuelve la fecha actual en el formato ‘Año-mes-día’ y si queremos otro formato solo cambiamos el orden, por ejemplo date(‘d-m-Y’).

El siguiente script muestra como Restar Días, Semanas, Meses o Años a la fecha actual en PHP.


$dt_Ayer= date('Y-m-d', strtotime('-1 day')) ; // resta 1 día
$dt_laSemanaPasada = date('Y-m-d', strtotime('-1 week')) ; // resta 1 semana
$dt_elMesPasado = date('Y-m-d', strtotime('-1 month')) ; // resta 1 mes
$dt_ElAnioPasado = date('Y-m-d', strtotime('-1 year')) ; // resta 1 año
//Mostrar fechas
echo $dt_Ayer;
echo $dt_laSemanaPasada;
echo $dt_elMesPasado;
echo $dt_ElAnioPasado;
/*
Resultado (fecha actual: 2014-11-11):
2014-11-10
2014-11-04
2014-10-11
2013-11-11
*/

Si lo que se necesita es sumar, unicamente cambiamo el signo de “” a “+” y listo, nos estará sumando nuestra fecha.