Partiendo de la base que tienes un
HTML similar a este:
Código HTML:
Ver original<input type="text" id="hora_acordada"> <input type="text" id="hora_real"> <input type="text" id="resultado"> <input type="button" onclick="javascript:restarFechas();">
Dentro de la etiqueta
HEAD de
HTML defines la función:
Código Javascript
:
Ver originalfunction restarFechas(){
var horaAcordada = document.getElementById("hora_acordada").value;
var horaReal = document.getElementById("hora_real").value;
//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 ":".
var arrayHoraAcordada= horaAcordada.split(":");
//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 ":".
var arrayHoraReal= horaReal.split(":");
//El parseInt es necesario para convertir el string devuelto por el split a un número entero para poder realizar operaciones matemáticas.
var diferenciaHoras = parseInt(arrayHoraAcordada[0]) - parseInt(arrayHoraReal[0]);
var diferenciaMinutos = parseInt(arrayHoraAcordada[1]) - parseInt(arrayHoraReal[1]);
//Aquí hay que comprobar que los minutos no sean negativos, si es así, hay que hacer lo que comentaba anteriormente.
if(diferenciaMinutos<0){
//.Esta parte seguro que eres capaz de hacerla tú :)
}
//Muestra el resultado en el textfield de abajo
document.getElementById("resultado").value=diferenciaHoras+":"+diferenciaMinutos;
}
Si no conoces los array mirate
esto o busca en google
arrays javascript.
Espero que te sirva de ayuda.