Restar fechas con Javascript
HTML
<div id='resultado'></div>
JavaScript
var d = new Date(); //establecemos la fecha de hoy
/*
d.getFullYear() extrae el año
(d.getMonth() + 1 ) extrae el mes
d.getDate() extrae el día.
d.getHours() extrae la hora.
d.getMinutes() extrae el minuto.
d.getSeconds() extrae el segundo.
*/
//Establecemos la fecha inicio con los parametros anteriores
var fechaInicio = new Date("2018/01/11 23:59:59");
//Establecemos la fecha final
var fechaFinal = new Date("2018/01/11 23:59:59");
//Restamos la fechaFinal menos fechaInicio,
//esto establece la diferencia entre las fechas
var fechaResta = fechaFinal - fechaInicio;
var texto;
//imprimir
texto = "Faltan: " + ((((fechaResta / 1000) / 60) / 60) / 24)/365 + " años. ó<br/>";
texto = texto + "Faltan: " + (((fechaResta / 1000) / 60) / 60) / 24 + " días. ó<br/>";
texto = texto + "Faltan: " + (((fechaResta / 1000) / 60) / 60) + " Horas. ó<br/>";
texto = texto + "Faltan: " + ((fechaResta / 1000) / 60) + " Minutos. ó<br/>";
texto = texto + "Faltan: " + (fechaResta / 1000) + " Segundos.";
document.getElementById("resultado").innerHTML = texto;