Archivo de la etiqueta: fechas

Calcular días transcurridos entre dos fechas en javascript

Hola de nuevo:

En el post anterior vimos como sumar o restar días a una fecha dada en javascript, ahora vamos a ver como calcular los días transcurridos entre dos fechas. Para ello vamos a crear una pequeña función:

Actualización: He actualizado la función ya que la original tenía un error y además he reducido el número de lineas de código para conseguir el mismo resultado.
// Función para calcular los días transcurridos entre dos fechas
restaFechas = function(f1,f2)
 {
 var aFecha1 = f1.split('/');
 var aFecha2 = f2.split('/');
 var fFecha1 = Date.UTC(aFecha1[2],aFecha1[1]-1,aFecha1[0]);
 var fFecha2 = Date.UTC(aFecha2[2],aFecha2[1]-1,aFecha2[0]);
 var dif = fFecha2 - fFecha1;
 var dias = Math.floor(dif / (1000 * 60 * 60 * 24));
 return dias;
 }

Esta función nos devolverá el número de días que han transcurrido entre las dos fechas pasadas.

Las fechas pasadas deben ser dos strings en formato ‘dd/mm/aaaa’.

Un ejemplo de llamada sería este:

var f1 = '10/09/2014';
var f2='15/10/2014';
alert(restaFechas(f1,f2));

Esto nos sacará un alert con el número 35 que son los días transcurridos entre las dos fechas.

Eso es todo por hoy, espero que os sirva de ayuda.

Sumar días a una fecha en javascript

Hola a todos:

En el post anterior vimos como “Sumar o restar días, semanas, meses o años a una fecha con PHP“.

Hoy me han preguntado como sumar días a una fecha desde javascript y he preparado una función con un pequeño ejemplo de como hacerlo.

La función para sumar o restar días a una fecha seria la siguiente:

Actualización:  La función original se ha modificado debido a un error que provocaba que no se calculasen correctamente algunas fechas, . (Gracias a Edisson y a Gustavo por el aviso). 
// Función que suma o resta días a la fecha indicada

sumaFecha = function(d, fecha)
{
 var Fecha = new Date();
 var sFecha = fecha || (Fecha.getDate() + "/" + (Fecha.getMonth() +1) + "/" + Fecha.getFullYear());
 var sep = sFecha.indexOf('/') != -1 ? '/' : '-';
 var aFecha = sFecha.split(sep);
 var fecha = aFecha[2]+'/'+aFecha[1]+'/'+aFecha[0];
 fecha= new Date(fecha);
 fecha.setDate(fecha.getDate()+parseInt(d));
 var anno=fecha.getFullYear();
 var mes= fecha.getMonth()+1;
 var dia= fecha.getDate();
 mes = (mes < 10) ? ("0" + mes) : mes;
 dia = (dia < 10) ? ("0" + dia) : dia;
 var fechaFinal = dia+sep+mes+sep+anno;
 return (fechaFinal);
 }

La función recibe como parámetros el número de días que se le quiere sumar y la fecha a la  cual que se le van sumar los días.

Si no se le pasa ninguna fecha coge por defecto la fecha actual.

Esta función está pensada para ser usada con fechas en formato dd/mm/aaaa y dd-mm-aaaa. Admite como separador ‘/’ y ‘-‘.

Un ejemplo de llamada seria este:

var fecha = sumaFecha(8,'01/07/2014');
alert(fecha);

En este ejemplo sumaríamos 8 días a la fecha 01/07/2014 sacaría un alert con la fecha ’09/07/2014′.

Espero que os sea de utilidad.