Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Javascript > comparar dos fechas en javascript
-Foros de debate

Javascript
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

comparar dos fechas en javascript
Enviado por nandom el día 12 de diciembre de 2005

Hola quisiera saber como puedo validar ó comparar dos fechas... desde, hasta, es decirque la fecha \"desde\" no sea mayor que la de \"hasta\", Gracias

 
Re: comparar dos fechas en javascript
Enviado por nelw el día 13 de diciembre de 2005

es sencillo

creas dos objetos de tipo fecha

fechaHoy = new Date(anioH+"/"+mesH+"/"+diaH);
otraFecha = new Date(anio+"/"+mes+"/"+dia);


if(fechaHoy < 'o el operador que quieras' otraFecha ){
tu codogo....
}

 
Re: Re: comparar dos fechas en javascript
Enviado por jorge chileno el día 22 de enero de 2006

bueno.. aquí encontré una pequeña funcion que hace esto.. pero el formato de entrada es DD/MM/YYYY...

se entiende?
function Comparar_Fecha(Obj1,Obj2)
{
String1 = document.form.fecha_desde.value;
String2 = document.form.fecha_hasta.value;
// Si los dias y los meses llegan con un valor menor que 10
// Se concatena un 0 a cada valor dentro del string
if (String1.substring(1,2)=="/") {
String1="0"+String1
}
if (String1.substring(4,5)=="/"){
String1=String1.substring(0,3)+"0"+String1.substring(3,9)
}

if (String2.substring(1,2)=="/") {
String2="0"+String2
}
if (String2.substring(4,5)=="/"){
String2=String2.substring(0,3)+"0"+String2.substring(3,9)
}

dia1=String1.substring(0,2);
mes1=String1.substring(3,5);
anyo1=String1.substring(6,10);
dia2=String2.substring(0,2);
mes2=String2.substring(3,5);
anyo2=String2.substring(6,10);


if (dia1 == "08") // parseInt("08") == 10 base octogonal
dia1 = "8";
if (dia1 == '09') // parseInt("09") == 11 base octogonal
dia1 = "9";
if (mes1 == "08") // parseInt("08") == 10 base octogonal
mes1 = "8";
if (mes1 == "09") // parseInt("09") == 11 base octogonal
mes1 = "9";
if (dia2 == "08") // parseInt("08") == 10 base octogonal
dia2 = "8";
if (dia2 == '09') // parseInt("09") == 11 base octogonal
dia2 = "9";
if (mes2 == "08") // parseInt("08") == 10 base octogonal
mes2 = "8";
if (mes2 == "09") // parseInt("09") == 11 base octogonal
mes2 = "9";

dia1=parseInt(dia1);
dia2=parseInt(dia2);
mes1=parseInt(mes1);
mes2=parseInt(mes2);
anyo1=parseInt(anyo1);
anyo2=parseInt(anyo2);

if (anyo1>anyo2)
{
return false;
}

if ((anyo1==anyo2) && (mes1>mes2))
{
return false;
}
if ((anyo1==anyo2) && (mes1==mes2) && (dia1>dia2))
{
return false;
}

return true;
}


Se debe llamar con de esta forma

if (!Comparar_Fecha(fecha_1, fecha_2)){
alert("La fecha Hasta No debe ser menor que la fecha Desde.");
return false};


esepro quede claro..

 
Re: Re: Re: comparar dos fechas en javascript
Enviado por Marta el día 30 de noviembre de 2007

hola:

es mucho mas sencillo si comparas solo su valor numerico, asi no tienes que ir comparando año, mes y dia.Concatenas en un string el año, seguido de mes y de dia.Seria:
var aux1;
var aux2;
var fechalimite;
var fecha;

aux1 = strFecha_limite.split(\\\"/\\\");
aux2 = strFecha.split(\\\"/\\\");

fechalimite = aux1[2] + aux1[1] + aux1[0]
fecha = aux2[2] + aux2[1] + aux2[0]
if(fechalimite < fecha){
alert(\\\" La fecha limite es menor que la fecha inicial\\\\n\\\" );
}




 
Re: Re: Re: Re: comparar dos fechas en javascript
Enviado por Adrian el día 6 de marzo de 2008

El código de la función que suma los valores de día + mes+ año. No es válido para comparar fechas ej:
06/03/2008 = 2017
01/04/2008 = 2013

Como vemos la fecha mayor tiene una sumatoria inferior.

No sirve para comparar fechas

 
Re: comparar dos fechas en javascript
Enviado por Diana el día 18 de marzo de 2008

Adrián, la función no suma los valores, sino que concatena los strings, que posteriormente habría que hacer un parseInt o un parseLong, de tal forma que se pueden comparar entre sí. Tu ejemplo de fechas, compararía de esta manera:
20080306 < 20080401

 



Re: Re: Re: comparar dos fechas en javascript
Enviado por maryury el día 1 de febrero de 2006

Excelente código, solo lo pegue y me funcionó perfecto. Muchas Gracias....

 
Re: Re: Re: Re: comparar dos fechas en javascript
Enviado por jose el día 15 de marzo de 2006

y para llamar a este script en el boton del formulario en el onsubmit que hay que poner por ejemplo???

saludos y gracias

 
Re: Re: Re: Re: Re: comparar dos fechas en javascript
Enviado por Octavio Osorio el día 1 de abril de 2006

está perfecto el codigo.

me sirvio muchisimo

garcias

 



Re: Re: Re: comparar dos fechas en javascript
Enviado por Elena el día 20 de abril de 2006

Muchas Gracias jorge chileno.

 

Re: Re: Re: comparar dos fechas en javascript
Enviado por Guillermo el día 27 de abril de 2006

El código funciona perfecto ..MNuchas Gracias Jorge

 



Re: comparar dos fechas en javascript
Enviado por ugho el día 2 de junio de 2008

Estimados:
La primera respuesta de nelw funciona a la perfección
Saludos

 
Re: Re: comparar dos fechas en javascript
Enviado por rchicangana el día 16 de septiembre de 2008

yo tengo esta y funciona perfecto y es mas cortica jejeje


function compara_fecha(fecha, fecha2)
{
suma=new Date(fecha.substring(6,10),fecha.substring(3,5)-1,fecha.substring(0,2));
var anio=suma.getYear();
var mes =suma.getMonth()+1;
var dia =suma.getDate();
suma2=new Date(fecha2.substring(6,10),fecha2.substring(3,5)-1,fecha2.substring(0,2));
var anio2=suma2.getYear();
var mes2 =suma2.getMonth()+1;
var dia2 =suma2.getDate();
if(anio<anio2){
return false;
}
if(anio<=anio2 && mes<=mes2)
{
if(anio==anio2 && mes==mes2 && dia>dia2)
{
return false;
}
return true;
}
else
{
return false;
}

}

 
Re: Re: Re: comparar dos fechas en javascript
Enviado por Mónica el día 18 de septiembre de 2008

Jorge chileno, muchas gracias por la funcion , es perfecta y me sacaste de un apuro.

 

Comparar dos fechas en javascript modificacion
Enviado por Pimus el día 25 de octubre de 2008

function fecha_compara(l_fecha1, l_fecha2)
{
//l_fecha1 op l_fecha2 ret: -1 = menor 0=igual 1=mayor
suma=new Date(l_fecha1.substring(6,10),l_fecha1.substring(3,5)-1,l_fecha1.substring(0,2));
var l_anio=suma.getYear();
var l_mes =suma.getMonth()+1;
var l_dia =suma.getDate();

suma2=new Date(l_fecha2.substring(6,10),l_fecha2.substring(3,5)-1,l_fecha2.substring(0,2));
var l_anio2=suma2.getYear();
var l_mes2 =suma2.getMonth()+1;
var l_dia2 =suma2.getDate();

if(l_anio < l_anio2)return(-1);
else if(l_anio > l_anio2)return(1);
else if(l_mes < l_mes2)return(-1);
else if(l_mes > l_mes2)return(1);
else if(l_dia < l_dia2)return(-1);
else if(l_dia > l_dia2)return(1);
else return(0);
}

Ej;
----------------------
var aux=fecha_compara('01/05/2008','02/03/2009')
if(aux==-1)
alert('Es menor');
else if(aux==0)
alert('Iguales');
else
alert('Es mayor');

 




Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network