Cómo obtener la marca de tiempo de UNIX en JavaScript

La marca de tiempo de UNIX es un valor entero que representa la cantidad de segundos transcurridos desde la época de UNIX el 1 de enero de 1970 a las 00:00:00 UTC. . En resumen, es una forma de realizar un seguimiento del tiempo como un total acumulado de segundos. Por lo tanto, una marca de tiempo de UNIX es simplemente el número de segundos entre una fecha específica y la Época de UNIX.

El JavaScript Date object proporciona varios métodos para trabajar con fechas y horas. Puede obtener la marca de tiempo actual llamando al now() función en el Date objeto como a continuación:

const timestamp = Date.now();

Este método devuelve la marca de tiempo UTC actual en milisegundos . Date.now() funciona en casi todos los navegadores modernos excepto IE8 y versiones anteriores. Pero puedes arreglar esto fácilmente escribiendo un pequeño polyfill:

if(!Date.now) {
    Date.now = () => new Date().getTime();
}

De lo contrario, puede obtener la misma marca de tiempo llamando a otras funciones de JavaScript que también funcionan en navegadores más antiguos:

const timestamp = new Date().getTime();
// OR
const timestamp = new Date().valueOf();

Para convertir la marca de tiempo a segundos (tiempo UNIX), puede hacer lo siguiente:

const unixTime = Math.floor(Date.now() / 1000);

El unixTime La variable ahora contiene la marca de tiempo de UNIX para la fecha y hora actuales según el navegador web del usuario.

Uso de Terminal

Si está utilizando una máquina compatible con UNIX como Ubuntu o macOS, puede obtener fácilmente la marca de tiempo actual de UNIX escribiendo lo siguiente en su terminal:

$ date +%s
1567562058