Tema: comparar
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/07/2005, 17:23
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Mira, me he sentido voluntario y con ganas, y te he hecho hasta el codigo.

La base es comparar los getTime() de las dos fechas, que te da los milisegundos transcurridos desde la fecha epoch para un objeto Date determinado:

Código PHP:
function DateDDMMAA(str) {
    
str=str.split("/");
    
dia=parseInt(str[0]);
    
mes=parseInt(str[1])-1;        //nuestros meses empiezan de 1, de Js de 0.
    
anyo=parseInt(str[2]);
    return new 
Date(anyo,mes,dia);
}

function 
diferencia(fecha1,fecha2) {
    var 
vuelta="";
    
sg1=fecha1.getTime(); sg2=fecha2.getTime();
    if(
sg1>sg2) {
        
vuelta="La primera fecha es mayor a la segunda.";
        
aux=sg2sg2=sg1sg1=aux;        //intercambiamos las fechas para trabajar en los dos casos igual
    
}
    else {
        
vuelta="La segunda fecha es mayor a la primera.";
    }
    
//a partir de aqui siempre sg2>sg1 en los dos casos
    
diferencia=(sg2-sg1)/1000;        //esta en milisegundos, a segundos
    
vuelta+=" La diferencia entre ellas es de "+diferencia+" segundos, o "+(diferencia/(60*60*24))+" dias, o "+(diferencia/(60*60*24*30))+" meses.";
    return 
vuelta;
}


var 
ahora=new Date();
var 
aquella=DateDDMMAA("21/07/2005");


alertdiferencia(ahora,aquella) ); 
Te doy una funcion DateDDMMAA(str), a la que se le pasa un "dd/mm/aaaa" y te devuelve un objeto fecha javascript.

(por cierto, no se controla que las fechas sean iguales, eso solo se daria si la fecha del sistema son las 00:00:00 exactamente, y los dias meses y años fuesen iguales, algo improbable, aunque depende en que rango de fechas trabajemos).



s2!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.