JSFiddle - React, Tailwind, and code Playground
JavaScript
var diferencia = function(){
var inicio = new Date(), //Fecha inicial
fin = new Date("July 18, 2014 17:00:02"), //Fecha final
difMiliSeg = fin.getTime() - inicio.getTime(), //Diferencia en milisegundos
difSeg = difMiliSeg / 1000, //Diferencia en segundos
difMin = 0, //Diferencia en minutos
difHor = 0, //Diferencia en horas
difDia = 0; //Diferencia en días
while (difSeg > 59){ //Si hay más de 59 segundos de diferencia
difSeg -= 60; //Le resto 60 segundos
difMin++; //Y aumento 1 minuto
}
while (difMin > 59){ //Si hay más de 60 minutos de diferencia
difMin -= 60; //Le resto 60 minutos
difHor++; //Y aumento 1 hora
}
while (difHor > 23){ //Si hay más de 23 horas de diferencia
difHor -= 24; //Le resto 24 horas
difDia++; //Y aumento 1 día
}
document.body.innerHTML = "Fecha inicial: " + inicio.toLocaleString();
document.body.innerHTML += "<br />Fecha final: " + fin.toLocaleString();
document.body.innerHTML += "<br />Días: " + difDia;
document.body.innerHTML += "<br />Horas: " + difHor;
document.body.innerHTML += "<br />Minutos: " + difMin;
document.body.innerHTML += "<br />Segundos: " + difSeg.toFixed(0);
};
setInterval(diferencia, 1000);