Convierte la marca de tiempo a la fecha en JavaScript

Moataz Farid 12 octubre 2023
Convierte la marca de tiempo a la fecha en JavaScript

Este tutorial explicará cómo podemos convertir la marca de tiempo de Unix a la fecha en JavaScript. La marca de tiempo Unix es el tiempo transcurrido desde el 1 de enero de 1970 00:00:00 UTC, representado en segundos.

El objeto Date de JavaScript contiene la representación del tiempo transcurrido desde el 1 de enero de 1970 00:00:00 UTC en milisegundos.

Convierte la marca de tiempo de Unix en Date en JavaScript

Cuando creamos un nuevo objeto de la clase Date() usando new Date(), devuelve el tiempo en milisegundos cuando se crea. Si necesitamos obtener un objeto de la clase Date en un momento específico, podemos pasar la marca de tiempo de la época al constructor de esa clase.

var timestamp = 1607110465663
var date = new Date(timestamp);
console.log(date.getTime())
console.log(date)

Resultado:

1607110465663
2020-12-04T19:34:25.663Z

La clase Date proporciona muchos métodos para representar la Date en el formato preferido como:

  1. getDate() devuelve el día del mes calendario 1 a 31 en ese momento.
  2. getMonth() devuelve el número del mes 0 a 11 en ese momento.
  3. getFullYear() devuelve el año en formato de 4 dígitos.
  4. getHours() devuelve la hora exacta en formato de 24 horas para esa hora.
  5. getMinutes() devuelve los minutos exactos del 0 a 59 en ese momento.
  6. getSeconds() devuelve los segundos exactos 0 a 59 de esa hora.
var timestamp = 1607110465663
var date = new Date(timestamp);

console.log(
    'Date: ' + date.getDate() + '/' + (date.getMonth() + 1) + '/' +
    date.getFullYear() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' +
    date.getSeconds());

Resultado:

Date: 4/12/2020 19:34:25

Dado que la fecha de JavaScript está en la unidad de milisegundo y la de Unix en la unidad de segundo, podemos multiplicar 1000 para convertir la fecha de Unix en la de JavaScript. Si la marca de tiempo de Unix es 1607110465, entonces la marca de tiempo de JavaScript es 1607110465000.

El siguiente ejemplo demuestra cómo podemos convertir la marca de tiempo de Unix en la marca de tiempo de JavaScript Date.

var unixTimestamp = 62678980
var date = new Date(unixTimestamp * 1000);
console.log('Unix Timestamp:', unixTimestamp)
console.log('Date Timestamp:', date.getTime())
console.log(date)
console.log(
    'Date: ' + date.getDate() + '/' + (date.getMonth() + 1) + '/' +
    date.getFullYear() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' +
    date.getSeconds());

Resultado:

Unix Timestamp: 62678980
Date Timestamp: 62678980000
Mon Dec 27 1971 12:49:40 GMT+0200 (Eastern European Standard Time)
Date: 27/12/1971 12:49:40

Artículo relacionado - JavaScript Date