PHP: Sumar o Restar Dias a cualquier fecha

Fechas en PHP

Si deseas sumarle o restarle dias a una fecha cualquiera puedes usar la siguiente función que pongo a continuación; la cual espera como entrada una fecha y un numero de días. Si Deseas sumar días, solo pasa el numero sin signo. Si deseas restar dias pasale un numero negativo.
 
 
 
 

El codigo

function dameFecha($fecha,$dia)
{	list($day,$mon,$year) = explode('/',$fecha);
	return date('d/m/Y',mktime(0,0,0,$mon,$day+$dia,$year));		
}
 
 //Sumar 5 dias
echo dameFecha('18/09/2012',5);
//Salida: 23/09/2012

 //Restar 5 dias  
echo dameFecha('18/09/2012',-5);
//Salida: 13/09/2012

//Sumar 12 dias a la fecha actual
echo dameFecha(date('d/m/Y'),12);
//Salida: ...depende de la fecha actual

¿Sencillo y facíl no?

 

Deja tus inquietudes en un comentario. Saludos.
 
 
Enlaces relacionados:
 
 
About these ads

Acerca de gonzasilve
Freelance Web Developer.

7 Responses to PHP: Sumar o Restar Dias a cualquier fecha

  1. Linco dice:

    No se que tan util sea decir esto a estas alturas, pero creo que tu función esta mal, pues ¿que pasaría si quisiera sumarle 5 dias a una fecha con dia 30?

  2. Leo dice:

    yo he colocado un calendario popup en mi formulario donde tomo una fecha cualquiera,
    y necesito declarar otro campo con fecha que contendrá 30 días mas que la primera y logicamente deboponerla en un textbox. tu ayuda.

    • gonzasilve dice:

      Me parece facil, has que se dispare un ajax con el evento change de tu primer textbox. El ajax debe recibir la fecha elegida (del primer textbox) e internamente debe devolver un textbox con la nueva fecha que seria la fecha que recibe mas 30 dias, ahi usas la funcion dameFecha() que pongo en esta entrada de blog.

      Es una idea pues tambien podrias hacerlo con javascript. Saludos cordiales.

      • Leo dice:

        master… Gracias. por la respuesta.
        pero debo decirte que de ajax mis conocimientos son casi nulos por no decir que nada. en este momento pude solucionarlo con un javascript que encontre en internet.

        Respecto a Ajax tengo muchas dudas subre su funcionamiento y su programacion:
        Por ejemplo quisiera poder tomar un valor de un input cualquiera y con el hacer una validacion (varios if) para determinar si los numeros insertados están o no declarados en la base.
        Ej: en una cuadrilla de trabajadores tenes mas de 100 personas
        y la forma de trabajo es en cuadrillas, donde cada cuadrilla puede tener maximo 35 personas.
        dentro de cada cuadrilla las cuales llevan un correlativo. (logicamente no se pueden repetir)
        adicional a eso esa misma gente para poder recibir su pago se hacen grupos de cheque de 10 personas(10 como maximo) donde uno de esos diez es el principal del cheque (el que cobra y reparte segun sea el detalle del cheque de las personas de su grupo)

        Como validar que tanto en numero de cuadrilla sea correcto de igualforma que el correlativo dentro de la cuadrilla no sea repetido y que el grupo de cheque no exceda 10 veces
        Ej: Cuadrilla: ____ No: ____ Grupo cheque: _____

        Como podría hacerlo???.

        Muchas gracias por tu tiempo.!

  3. Pingback: PHP: Mostrar la fecha actual en español « .::programming notes::. Gonzalo Silverio

  4. Pingback: PHP: Obtener el ultimo día de cualquier mes « .::programming notes::. Gonzalo Silverio

  5. Pingback: PHP: Restar o Sumar Dias, Semanas, Meses o Años a la fecha actual « .::programming notes::. Gonzalo Silverio

Deja un comentario

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

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 404 seguidores

%d personas les gusta esto: