Tema: Restar horas
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/06/2008, 08:54
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
Respuesta: Restar horas

Hola carlosgs91:

Creo que lo que estás buscando sería mas o menos así:

Código PHP:
<body onLoad="sacarTiempo();">
<
script>


function 
sacarTiempo() {
    
window.setTimeout"sacarTiempo()"1000); 
    var 
fechaInicio = new Date(); 
    
fechaInicio.setMonthfechaInicio.getMonth()+);
    var 
fechaFin = new Date(2008,7,211,5,0);
    var 
diferencia Math.absfechaFin.getTime() - fechaInicio.getTime() );
    var 
dias Math.floordiferencia /1000/60/60/24 );
    var 
horas Math.floordiferencia /1000/60/60) - dias*24;
    var 
minutos Math.floordiferencia /1000/60) - dias*24*60 horas*60;
    var 
segundos Math.floordiferencia /1000) - dias*24*60*60 horas*60*60 minutos*60;
    
document.getElementById('eltiempo').innerHTML "Desde el "+fechaInicio+"<br/>Hasta "+fechaFin+": <br/>"+dias+"dias, "+horas+"horas, "+minutos+"minutos, "+segundos+"segundos.";
}

</script>
<div id="eltiempo"></div> 
Es bueno simplificar en paréntesis y en longitud de sentencias para maximizar la legibilidad y mantenibilidad del código.

Por otra parte, estabas restando cantidades grandes a cantidades pequeñas (orden de sumandos), y en cada operación tenías que hacer un Math.abs() porque te salía negativo. También hay que señalar que aquí hay que utilizar un redondeo a la baja (Math.floor()) en vez de Math.round(), porque si faltan 7.98 días faltarán 7días+23.52 horas, y no 8días+23.52horas.

No sé qué decirte que fallaba en tu función, creo que sobraban variables por todas partes (ya que dias=dias2, minutos=minutos2...)



Por último no has posteado lo que quieres hacer, que es importante: Estás calculando la distancia entre la fecha actual + 1 mes (me he tomado la libertad de reescribirlo para que se entienda mejor), y el 2 de Agosto de 2008 a las 11:05h; espero que ese sea tu propósito.


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