Podrías separar las horas, minutos y segundos de ambos datos y los sumas de forma independiente, luego, para los minutos y segundos, verificas que no sean mayores a 59 y si lo son, le restas 60 a dicha cantidad hasta que sea menor a 60, por ejemplo, si de la suma resultaran 134 minutos, restas 60 en un bucle hasta que sea menor a 60, por cada iteración, vas sumando 1 a las horas, lo mismo sucedería con los segundos.
Código Javascript
:
Ver originalvar h1 = prompt("Hora 1:").split(":"),
h2 = prompt("Hora 2:").split(":"),
a = Number(h1[0]) + Number(h2[0]), //Sumo horas
b = Number(h1[1]) + Number(h2[1]), //Sumo minutos
c = Number(h1[2]) + Number(h2[2]); //Sumo segundos
while (c >= 60){
c -= 60;
b++;
}
while (b >= 60){
b -= 60;
a++;
}
document.body.innerHTML = (a < 10 ? "0" + a : a) + ":" +
(b < 10 ? "0" + b : b) + ":" +
(c < 10 ? "0" + c : c);
Con este algoritmo, se van a sumar las horas, minutos y segundos, respetando el orden que indica que los minutos y segundos no deben ser mayor o iguales a 60, pero sí mostrará las horas así sean mayores a 23.
Saludos