Edit in JSFiddle

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);