Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/10/2013, 11:38
Avatar de Crazylegs
Crazylegs
 
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 10 años, 7 meses
Puntos: 14
Respuesta: Restar 2 horas

Partiendo de la base que tienes un HTML similar a este:
Código HTML:
Ver original
  1. <input type="text" id="hora_acordada">
  2. <input type="text" id="hora_real">
  3. <input type="text" id="resultado">
  4. <input type="button" onclick="javascript:restarFechas();">

Dentro de la etiqueta HEAD de HTML defines la función:
Código Javascript:
Ver original
  1. function restarFechas(){
  2.     var horaAcordada = document.getElementById("hora_acordada").value;
  3.     var horaReal = document.getElementById("hora_real").value;
  4.     //Separa las horas y los minutos en un array(también llamado arreglo o vector) de 2 posiciones, separandolo por el carácter de los ":".
  5.     var arrayHoraAcordada= horaAcordada.split(":");
  6.     //Separa las horas y los minutos en un array(también llamado arreglo o vector) de 2 posiciones, separandolo por el carácter de los ":".
  7.     var arrayHoraReal= horaReal.split(":");
  8.     //El parseInt es necesario para convertir el string devuelto por el split a un número entero para poder realizar operaciones matemáticas.
  9.     var diferenciaHoras = parseInt(arrayHoraAcordada[0]) - parseInt(arrayHoraReal[0]);
  10.     var diferenciaMinutos = parseInt(arrayHoraAcordada[1]) - parseInt(arrayHoraReal[1]);
  11.     //Aquí hay que comprobar que los minutos no sean negativos, si es así, hay que hacer lo que comentaba anteriormente.
  12.     if(diferenciaMinutos<0){
  13.         //.Esta parte seguro que eres capaz de hacerla tú :)
  14.     }
  15.     //Muestra el resultado en el textfield de abajo
  16.     document.getElementById("resultado").value=diferenciaHoras+":"+diferenciaMinutos;
  17. }

Si no conoces los array mirate esto o busca en google arrays javascript.

Espero que te sirva de ayuda.
__________________
¡Mira mis tutoriales web!