JSFiddle - React, Tailwind, and code Playground

JavaScript

var hora1 = ("04:29:01").split(":"),
    hora2 = ("03:28:56").split(":"),
    t1 = new Date(),
    t2 = new Date();

t1.setHours(hora1[0], hora1[1], hora1[2]);
t2.setHours(hora2[0], hora2[1], hora2[2]);

document.body.innerHTML = "Hora A: " + (t1.getHours() < 10 ? "0" + t1.getHours() : t1.getHours()) + ":" + (t1.getMinutes() < 10 ? "0" + t1.getMinutes() : t1.getMinutes()) + ":" + (t1.getSeconds() < 10 ? "0" + t1.getSeconds() : t1.getSeconds()) + "<br />";

document.body.innerHTML += "Hora B: " + (t2.getHours() < 10 ? "0" + t2.getHours() : t2.getHours()) + ":" + (t2.getMinutes() < 10 ? "0" + t2.getMinutes() : t2.getMinutes()) + ":" + (t2.getSeconds() < 10 ? "0" + t2.getSeconds() : t2.getSeconds()) + "<br />";

t1.setHours(t1.getHours() - t2.getHours(),
            t1.getMinutes() - t2.getMinutes(),
            t1.getSeconds() - t2.getSeconds()
           );

document.body.innerHTML += "La diferencia es de: " + (t1.getHours() ? t1.getHours() + (t1.getHours() > 1 ? " horas" : " hora") : "") + (t1.getMinutes() ? ", " + t1.getMinutes() + " minutos" : "") + (t1.getSeconds() ? (t1.getHours() || t1.getMinutes() ? " y " : "") + t1.getSeconds() + " segundos" : "");