Javascript – Calcular segundos entre dos fechas

Muchas librerías, por ejemplo las que te muestran Cuentas atrás, lo hacen pasándoles los segundos a calcular. Empecemos con el artículo Javascript – Calcular segundos entre dos fechas.

Tenemos dos fechas, y queremos conseguir los segundos que hay entre ellas. El código que haríamos servir sería el siguiente. Nótese que podéis cambiar los datos de las funciones Date con el año, mes, dia que necesitéis. En el ejemplo ponemos AAAA, pero podéis cambiarlo por 2024, o MM por 12, o DD por 31. Correspondiente a Año, Mes y Día para formar la fecha :

/*
Hay que crear tiempo1 y tiempo2 a partir de la función Date al que le pasamos:
Año, mes, dia, horas, minutos, segundos
*/

var tiempo1 = new Date(AAAA, MM, DD, 0, 0, 0, 0)
var tiempo2 = new Date(AAAA, MM, DD, 0, 0, 0, 0)
var dif = tiempo1.getTime() - tiempo2.getTime()

var Segundos_de_T1_a_T2 = dif / 1000;
var Segundos_entre_fechas = Math.abs(Segundos_de_T1_a_T2);

Si os fijáis, tiempo1 y tiempo2 son fechas creadas a partir de la función Date. Una vez lo tenemos, lo convertimos a Milisegundos con la función getTime(). Si lo dividimos entre 1000, tenemos los segundos.

Pero compliquemos un poco. El código anterior lo calcula entre dos fechas dadas. Pero veamos el código para mirar los segundos que hay entre el Ahora y una fecha dada:

/* Conseguimos los datos del momento actual (Ahora) */
var now= new Date(); // Conseguimos los datos de Ahora
var nowday= now.getDay();  // Que dia estamos
var nowhour= now.getHours();  // Hora actual
var nowminute= now.getMinutes(); // Minuto actual
var nowsecond= now.getSeconds();  // Segundo actual
/*
Hay que crear tiempo1 y tiempo2 a partir de la función Date al que le pasamos:
Año, mes, dia, horas, minutos, segundos
*/
var tiempo1 = new Date(2035, 11, 30, 23, 59, 59, 0);
var tiempo2 = new Date(2015, 11, 26, nowhour, nowminute, nowsecond, 0);
var dif = tiempo1.getTime() - tiempo2.getTime()

var Segundos_de_T1_a_T2 = dif / 1000;
var Segundos_entre_fechas = Math.abs(Segundos_de_T1_a_T2);

Des esta manera calculamos entre Ahora y el 30/11/2035 a las 23:59:59

See the Pen JavaScript – Calcular segundos entre dos fechas by Trescomatres Multimèdia S.L. (@trescomatres) on CodePen.

Espero que os sea de utilidad el artículo y lo podáis utilizar en vuestro código.


Más información