Foros del Web » Programando para Internet » Javascript »

problema de comparacion de fechas

Estas en el tema de problema de comparacion de fechas en el foro de Javascript en Foros del Web. Por que cuando f1=f2 no pasa por la condicion , pero si lo hace cuando es f1>f2, osea si las fechas son iguales no pasa ...
  #1 (permalink)  
Antiguo 25/03/2005, 21:43
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 9 meses
Puntos: 3
problema de comparacion de fechas

Por que cuando f1=f2 no pasa por la condicion , pero si lo hace cuando es f1>f2, osea si las fechas son iguales no pasa por donde deberia, que esta haiendo mal la funcion ?


function validarangofechas(){
fecha1="31/12/2005";
fecha2="31/12/2005";
//El script debe recivir las fechas en formato dd/mm/yyyy
//Dentro de este debe transforma a mm/dd/yyyy para comparar
vfecha1=fecha1.split("/");
vfecha2=fecha2.split("/");
nfecha1=vfecha1[1] + '/' + vfecha1[0] + '/' + vfecha1[2];
nfecha2=vfecha2[1] + '/' + vfecha2[0] + '/' + vfecha2[2];
alert(nfecha1+" "+nfecha2);

f1=new Date(nfecha1);
f2=new Date(nfecha2);

alert(f1+" "+f2);

if(f1==f2){
alert("f1 es igual que f2");
}else if(f1>f2){
alert("f1 es mayor que f2");
}
}
</script>
__________________
Saludos
Leo
  #2 (permalink)  
Antiguo 26/03/2005, 01:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
... ta muy raro... Ignoro qué pase... probé con mayor, y menor y la función anda bien... ..... ... tiene que haber una explicación...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 26/03/2005, 08:12
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
A simple vista es obvio, que si no entra es xq no deben ser iguales, eso lo sabemos todos, no sé, imprime las dos fechas y busca el xq no son totalmente iguales, algún fallo habrá. :S
Imagino que esto será un simple fallo al copiarlo pero:
}else if(f1>f2){
creo k ahi falta un {
} else{ if(f1>f2){

Última edición por Manu_Leon; 26/03/2005 a las 08:15
  #4 (permalink)  
Antiguo 26/03/2005, 10:55
Avatar de Holden  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 326
Antigüedad: 22 años, 3 meses
Puntos: 4
Usa la diferencia entre las fechas:
yo lo probé y me anduvo fijate de probar todos los casos incluidos años bisiestos. Despues contanos como te fue.
Saludos

<script>
function validarangofechas(){
fecha1="30/12/2005";
fecha2="31/12/2005";
//El script debe recivir las fechas en formato dd/mm/yyyy
//Dentro de este debe transforma a mm/dd/yyyy para comparar
vfecha1=fecha1.split("/");
vfecha2=fecha2.split("/");
nfecha1=vfecha1[1] + '/' + vfecha1[0] + '/' + vfecha1[2];
nfecha2=vfecha2[1] + '/' + vfecha2[0] + '/' + vfecha2[2];


f1 = new Date(vfecha1[2],vfecha1[1],vfecha1[0]);
f2 = new Date(vfecha2[2],vfecha2[1],vfecha2[0]);

if(parseFloat(f1-f2) == 0){ alert("f1 es igual que f2") };

if(parseFloat(f1-f2) > 0){ alert("f1 es mayor que f2") };

if(parseFloat(f1-f2) < 0){ alert("f1 esmenor que f2") };

}
</script>
__________________
Holden-@r
http://www.hvaldez.com.ar
  #5 (permalink)  
Antiguo 26/03/2005, 14:11
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
pero... por qué la igual no es válida?? ...

Si de hacerlo funcionar se trata también se podria aplicar el proceso de eliminación:
if(f1>f2){
alert("f1 es mayor que f2");
}else if(f1<f2){
} else {
alert("f1 es igual que f2");
}

:-p ...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 02/04/2005, 01:37
 
Fecha de Ingreso: abril-2004
Ubicación: Morelos, México
Mensajes: 124
Antigüedad: 20 años
Puntos: 0
Saludos, talves el problema radica en que considera tambien las horas, minutos y segundos cuando se utiliza la transformacion con Date()...... y al momento de comparar siempre va a existir uno diferente de otro.......

aunque esta raro......aun asi......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:05.