O timestamp JavaScript é um recurso valioso, gerando um código único de data e hora que pode ser usado em qualquer lugar. Conheça.

O JavaScript é uma linguagem que oferece diversos recursos no processo de desenvolvimento para web. E uma funcionalidade bastante utilizada é o timestamp.

Para quem precisa lidar com questões temporais, o timestamp JavaScript se mostra uma ferramenta poderosa no trabalho com datas e horários.

Confira, a seguir, o que é esse recurso e como obtê-lo!

Navegue pelo índice

    O que é o timestamp e como funciona?

    Timestamp é uma representação numérica de um momento específico no tempo.

    Basicamente, ele funciona como um carimbo de data e hora, e serve para representar uma quantidade de tempo transcorrido a partir de um instante inicial.

    Os timestamps JavaScript são comumente usados para comparar datas, calcular intervalos temporais, registrar eventos e até usar recursos de loop com o forEach Javascript.

    Todos eles tomam como base o “instante zero” ou Unix Epoch, que seria o valor 1970-01-01T00:00Z (1 de janeiro de 1970, à meia-noite, em UTC ou Tempo Universal Coordenado).

    Importante destacar que, em JavaScript, os timestamps são expressos em milissegundos desde o Unix Epoch.

    Essa especificidade permite uma precisão muito alta ao trabalhar com datas e horários, diferenciando-se de algumas outras linguagens de programação que podem utilizar segundos para representar o mesmo valor.

    Assim, ao lidar com timestamps no JavaScript, é essencial ter em mente que a unidade de medida padrão são os milissegundos.

    Um ponto importante é que esse valor vai representar uma data e hora diferente em diversas regiões do mundo; essa variação está associada ao fuso-horário.

    Desenvolvedora de software trabalhando com múltiplas telas

    O timestamp é uma informação compreendida de maneira universal em qualquer lugar do mundo.

    Tradução

    Tomando por base o que vimos até aqui, vale dizer que os timestamps são dados traduzidos para formatos mais legíveis para humanos.

    Tomemos, por exemplo, o timestamp 1709174300000. Aos nossos olhos, não é possível decifrar uma data ou um horário apenas com essa informação.

    No entanto, após uma formatação, ele passaria a exibir o horário 00:42:19 do dia 29 de fevereiro de 2024 em um site que utilize o fuso-horário de Brasília.

    Respeitando o fuso-horário de cada região e usando o sistema de converter timestamp, o dado 1709174300000 seria traduzido da seguinte forma nas cidades indicadas:

    • 00:42:19, de 29 de fevereiro de 2024, em São Paulo.
    • 20:42:19, de 28 de fevereiro de 2024, em Los Angeles.
    • 12:24:19, de 29 de fevereiro de 2024, em Tóquio.

    Outro ponto importante é que o Unix timestamp não vai funcionar da maneira como conhecemos para sempre no formato 32 bits.

    A partir de 19 de janeiro de 2038, milhões de aplicações vão ter que encontrar uma forma diferente de converter essas informações ou migrar para versões de 64 bit, de modo a garantir um pouco mais de tempo no sistema antigo, já que o valor do timestamp a partir desse momento será maior que o valor máximo dos inteiros de 32 bits.

    Qual a sintaxe (ou função) do timestamp?

    Além do JavaScript, também é possível obter timestamp em outras linguagens de programação. Confira, a seguir, o que fazer para usar esse recurso em Java, C#, Python e PHP.

    Java

    Para obter um timestamp em Java, é possível usar a classe java.util.Date ou java.time.* (a partir do Java 8). Veja um exemplo de como conseguir essa informação em milissegundos:

    javaCopy code long timestamp = System.currentTimeMillis();

    Além disso, com o Java 8 e posterior, existe a opção de usar a API java.time para obter um timestamp usando a classe Instant:

    javaCopy code Instant instant = Instant.now();
    long timestamp = instant.toEpochMilli();

    C#

    Em C#, dá para usar o tipo DateTime para obter um timestamp. Aqui está um exemplo de como fazer isso:

    csharpCopy code DateTime timestamp = DateTime.Now;

    Também é possível obter o timestamp em ticks (100-nanosegundos) usando DateTime.Ticks:

    csharpCopy code long timestampTicks = DateTime.Now.Ticks;

    Python

    Já em Python, é possível trabalhar com timestamps usando o módulo datetime. Confira, a seguir, um exemplo de como obter um timestamp em segundos:

    pythonCopy code import datetime
    timestamp = datetime.datetime.now().timestamp()

    Outra maneira de obter um timestamp em milissegundos é usando datetime.datetime.now() e a função timestamp():

    pythonCopy code timestamp_ms = datetime.datetime.now().timestamp() * 1000

    Desenvolvedor trabalhando com múltiplas telas

    Timestamps também podem ser usados com outras linguagens de programação, como Python.

    PHP

    Em PHP, a função time() é a indicada para obter o timestamp atual em segundos:

    phpCopy code $timestamp = time();

    Para conseguir um timestamp em milissegundos, use a função microtime():

    phpCopy code $timestamp_ms = microtime(true) * 1000;

    JavaScript

    Por fim, em JavaScript dá para obter um timestamp em milissegundos usando o método Date.now():

    javascriptCopy code var timestamp = Date.now();

    Também é possível obter um timestamp em milissegundos usando o construtor new Date():

    javascriptCopy code var timestamp = new Date().getTime();

    Leia mais:

    Vantagens do uso do timestamp em JavaScript

    Os timestamps oferecem vários benefícios ao lidar com datas e horários em JavaScript:

    • Universalidade: eles são independentes de fuso horário, o que os torna adequados para comparações e cálculos em diferentes regiões do mundo.
    • Precisão:com milissegundos, permitem uma granularidade fina ao trabalhar com horários.
    • Simplicidade: a obtenção e manipulação de timestamps em JavaScript é direta e simples, o que os torna acessíveis para desenvolvedores de todos os níveis de habilidade.

    Como obter timestamps em JavaScript?

    Existem várias maneiras de conseguir timestamps JavaScript. Aqui estão alguns métodos comuns para ter acesso a essa informação.

    Método getTime()

    javascriptCopy code var timestamp = new Date().getTime();

    Método Date.now()

    javascriptCopy code var timestamp = Date.now();

    Método valueOf()

    javascriptCopy code var timestamp = new Date().valueOf();

    Exemplos

    javascriptCopy code var timestamp1 = new Date().getTime();
    var timestamp2 = Date.now();
    var timestamp3 = new Date().valueOf();

    console.log(timestamp1); // Saída: timestamp em milissegundos
    console.log(timestamp2); // Saída: timestamp em milissegundos
    console.log(timestamp3); // Saída: timestamp em milissegundos

    Desenvolvedor trabalhando com laptop

    Escolha o método mais indicado e obtenha o timestamp desejado para o seu projeto.

    Como manipular o timestamp em JavaScript?

    Uma vez obtido um timestamp JavaScript, dá para manipulá-lo de várias maneiras.

    Por exemplo, calcular a diferença entre dois timestamps para determinar a duração entre dois eventos ou converter um timestamp para uma data legível usando funções de formatação.

    Caso queira, também dá para adicionar ou subtrair um intervalo de tempo em milissegundos.

    Confira alguns desses usos para o timestamp JavaScript nos tópicos a seguir.

    Obtendo o timestamp atual

    Para obter o timestamp atual em milissegundos, use o método Date.now() ou o construtor new Date().getTime().

    Ambos retornam o número de milissegundos desde o Unix Epoch (1º de janeiro de 1970 00:00:00 UTC).

    javascriptCopy code var timestamp = Date.now(); // Usando Date.now()
    // Ou
    var timestamp = new Date().getTime(); // Usando new Date().getTime()

    Convertendo um timestamp em data

    Também é possível usar o construtor new Date(), passando o timestamp JavaScript como argumento para criar um objeto Date representando uma data específica.

    javascriptCopy code var timestamp = 1614642310942; // Exemplo de timestamp
    var data = new Date(timestamp);
    console.log(data); // Saída: Sun Mar 01 2021 15:45:10 GMT-0300 (Horário Padrão de Brasília)

    Manipulando timestamps

    É possível ainda realizar operações matemáticas com timestamp JavaScript, como adição ou subtração para calcular intervalos de tempo.

    Lembre-se de que os timestamps estão em milissegundos.

    javascriptCopy code var timestamp = Date.now();
    var umDiaEmMilissegundos = 24 * 60 * 60 * 1000; // Um dia em milissegundos
    var timestampAmanha = timestamp + umDiaEmMilissegundos; // Timestamp de amanhã

    Formatação de data

    Para formatar uma data de maneira legível, use métodos como getDay(), getMonth(), getFullYear(), etc., ou bibliotecas de formatação, como Moment.js ou Date-fns.

    javascriptCopy code var data = new Date();
    var dia = data.getDate();
    var mes = data.getMonth() + 1; // Lembrando que os meses começam do zero
    var ano = data.getFullYear();
    console.log(dia + ‘/’ + mes + ‘/’ + ano); // Saída: “01/03/2024”

    Outros usos do timestamp

    Além de sua utilidade básica em lidar com datas e horários, os timestamps têm uma variedade de outros usos em JavaScript. Alguns exemplos incluem:

    • Geração de IDs únicos: eles são frequentemente usados para identificar objetos ou registros em um banco de dados.
    • Cache expiração: podem ser utilizados para determinar quando os dados em cache devem ser atualizados, permitindo uma gestão eficiente.
    • Marcação de eventos:os timestamps podem ser usados para registrar o tempo em que eventos ocorrem em um sistema, facilitando a análise e depuração.

    Hospedagem de sites

    Também é possível usar o conceito de timestamp JavaScript ao longo do processo de criação de um site.

    Precisa de recursos de ponta para hospedar o seu site? A Hospedagem de Sites da Locaweb é a opção ideal para você.