Converter o Timestamp para Data em JavaScript
Este tutorial irá explicar como podemos converter o carimbo da hora Unix para data em JavaScript. Unix timestamp é o tempo decorrido desde o 1, Jan 1970 00:00:00 UTC, representado em segundos.
O objecto JavaScript Date contém a representação do tempo decorrido desde 1 de Janeiro de 1970 00:00:00 UTC, representado em milissegundos.
Converter o Unix Timestamp em Date em JavaScript
Quando criamos um novo objecto da classe Date() utilizando new Date(), ele devolve o tempo em milissegundos quando é criado. Se precisarmos de obter um objecto da classe Date num ponto específico de tempo, podemos passar o carimbo da hora da época ao construtor dessa classe.
var timestamp = 1607110465663
var date = new Date(timestamp);
console.log(date.getTime())
console.log(date)
Resultado:
1607110465663
2020-12-04T19:34:25.663Z
A classe Date fornece muitos métodos para representar a Date no formato preferido, como por exemplo:
getDate()retorna o dia do mês civil de1 a 31naquele momento.getMonth()retorna o número do mês0 a 11naquele momento.getFullYear()retorna o ano no formato de4 dígitos.getHours()retorna a hora exata no formato24 horaspara aquela hora.getMinutes()retorna os minutos exatos de0 a 59naquele momento.getSeconds()retorna os segundos exatos de0 a 59naquele momento.
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
Uma vez que o JavaScript Date timestamp está na unidade de milissegundo enquanto o timestamp Unix está na unidade de segundo, podemos multiplicar 1000 para converter o timestamp Unix para timestamp JavaScript. Se o carimbo de tempo Unix for 1607110465, então o carimbo de tempo JavaScript é 1607110465000.
O exemplo seguinte demonstra como podemos converter o carimbo da hora Unix para JavaScript Date timestamp.
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