La Web del Programador: Comunidad de Programadores
 
    Pregunta:  6961 - FECHAS EN JSCRIPT
Autor:  Moe
Como resto dos fechas y convierto el resultados en dias y horas?

  Respuesta:  Summergirl
Aqui tienes una solución.
Es el número de dias *Y* el número de horas sobrantes (menos de 24). Si quieres hallar el número de horas totales equivalentes a ese número de dias, utiliza:

var horasTotales= Math.floor(msEntreDosFechas/msPorHora);

El codigo sería como sigue:

<script language="Javascript">
/* Numero de dias y horas transcurridos entre dos fechas dadas */

var msPorHora= 60*60*1000;
var msPorDia= 24*msPorHora;

var anio1= 1971;
var mes1 = 2;
var dia1 = 22;

/* Hay que restar 1 al mes, pues enero empieza con el numero 0, no con el 1 */
var fecha1= new Date (anio1,mes1-1,dia1);
var fecha2= new Date (); //fecha de hoy

var msEntreDosFechas= fecha2.getTime()-fecha1.getTime();
var dias= Math.floor(msEntreDosFechas/msPorDia);
var horas= Math.floor((msEntreDosFechas % msPorDia)/msPorHora);

var f1Str= fecha1.toLocaleString();
var f2Str= fecha2.toLocaleString();

var txt= "Entre "+f1Str+" y "+f2Str+" \nhan transcurrido "+dias+" dias y "+horas+" horas";

alert (txt);
</script>

Saludos.