Sumar o restar días, semanas, meses o años a una fecha con PHP

Hola a todos:

Hoy os traigo una función que aunque sencilla puede ser muy útil cuando trabajamos con fechas en PHP.

En ocasiones necesitamos sumar o restar días a la fecha actual o a una fecha dada.

Vamos a crear una pequeña función que nos permite sumar o restar días, semanas, meses o años a una fecha:

<?php
function sumaFechas ($suma,$fechaInicial = false)
{
  $fecha = !empty($fechaInicial) ? $fechaInicial : date('Y-m-d'); 
  $nuevaFecha = strtotime ($suma , strtotime ( $fecha ) ) ;
  $nuevaFecha = date ( 'Y-m-d' , $nuevaFecha );
  return $nuevaFecha;
}
?>

La función recibe dos parámetros, el primero es la cantidad de días, semanas, meses o años que vamos a sumar o restar y el segundo es la fecha a la que se los vamos a sumar.

Si no se pasa el parámetro fechaInicial la función tomará la fecha actual.

Para sumar 3 días al 15 de junio del 2014 llamamos a la función de esta manera:

echo sumaFechas('3 day', '2014-06-15');

Para sumar 3 semanas:

echo sumaFechas('3 week', '2014-06-15');

Recordad que también podemos restar poniendo el número en negativo:

echo sumaFechas('-4 month', '2014-06-15');

Veamos un ejemplo completo con varias posibilidades que podéis probar y que cubren todas las posibilidades que podéis necesitar:

<?php
function sumaFechas ($suma,$fechaInicial = false)
{
  $fecha = !empty($fechaInicial) ? $fechaInicial : date('Y-m-d');
  $nuevaFecha = strtotime ($suma , strtotime ( $fecha ) ) ;
  $nuevaFecha = date ( 'Y-m-d' , $nuevaFecha );
  return $nuevaFecha;
}
// Suma 5 días a la fecha 2014-06-15
echo sumaFechas('5 day', '2014-06-15').'<br/>';
// Suma 5 días a la fecha actual 
echo sumaFechas('5 day').'<br/>'; 
// Resta una semana a la fecha '2014-06-15'
echo sumaFechas('-1 week', '2014-06-15').'<br/>'; 
// Suma 3 semanas a la fecha '2014-06-15'
echo sumaFechas('3 week', '2014-06-15').'<br/>'; 
// Suma 4 meses a la fecha '2014-06-15'
echo sumaFechas('4 month', '2014-06-15').'<br/>';
// Suma 2 años a la fecha '2014-06-15' 
echo sumaFechas('2 year', '2014-06-15').'<br/>'; 
?>

Y eso es todo por hoy, espero que os sirva de ayuda.  😉

No dudéis en dejar en los comentario cualquier duda que os surja.

Un saludo

 

P.D: Podeis probar mis últimos juegos para móviles. Si ponéis una valoración en alguno me haceis un favor 😉

ico_beheading_androidico_beheading_iosico_beheading_wpGalactic InsectsGalactic InsectsGalactic InsectsSnow SoccerSnow Soccer

Un comentario en “Sumar o restar días, semanas, meses o años a una fecha con PHP

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s