Comparar con la fecha del sistema en Javascript nos sirve para saber la diferencia de fechas entre el día de hoy y otra fecha. Esto nos serviría desde casos en los que queramos saber hace cuanto tiempo publique esta entrada en el blog, o cuánto queda para el día de mi cumpleaños o cuánto queda hasta año nuevo.
Realmente lo que estamos haciendo es restar dos fechas en Javascript, la que nos da el usuario contra la fecha del sistema.
Para obtener la fecha del sistema simplemente instanciaremos un objeto Date.
fecha = new Date();
Ahora cogeremos la fecha del usuario. Para ello ya vimos en el ejemplo de cómo convertir una cadena de texto en una fecha los pasos que teníamos que seguir:
var boton = document.getElementById("calcular");
boton.addEventListener("click",function(ev){
dia = document.getElementById("dia").value;
mes = document.getElementById("mes").value;
annio = document.getElementById("annio").value;
fecha_texto = annio+"-"+mes+"-"+dia;
ms = Date.parse(fecha_texto);
fecha2 = new Date(ms);
},false);
Ahora toca la resta, para ejecutar la resta convertimos previamente la dos fechas en milisegundos con el método .getTime(). A este valor lo dividimos por los milisegundos que representan un día (1000 ms * 60 segundos * 60 minutos * 24 horas).
Por último realizaremos un redondeo apoyándonos en el método .ceil() del objeto Math de Javascript.
one_day=1000*60*60*24;
diferencia = Math.ceil((fecha.getTime()-fecha2.getTime())/(one_day));
texto = (diferencia>0)?"Hace " + diferencia:"Dentro de " + (diferencia*-1);
Utilizaremos el operador ternario para adecentar nuestra respuesta y diferenciar si la fecha paso (resultado positivo) o todavía no hemos llegado (resultado negativo).
Ya tenemos nuestra comparación con la fecha del sistema en Javascript.