Como obter timestamp em JavaScript: 5 maneiras simples

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como obter timestamp em JavaScript: 5 maneiras com exemplos

\n\n

Todo desenvolvedor já se deparou pelo menos uma vez com a tarefa: precisa salvar um momento no tempo, comparar datas ou enviar dados para o servidor. E é aí que o timestamp em JavaScript entra em cena — um carimbo de data/hora universal que todos os sistemas entendem. Neste guia, mostrarei 5 maneiras comprovadas de obter timestamp, analisarei seus prós e contras e responderei às perguntas mais populares do Stack Overflow.

\n\n

Se você já pesquisou no Google "how do I get a timestamp in JavaScript" — não está sozinho. Milhares de desenvolvedores buscam essa resposta todos os dias. Vamos entender o assunto de uma vez por todas.

\n\n

O que é timestamp e para que serve?

\n\n

Timestamp (carimbo de data/hora) é a quantidade de milissegundos que se passaram desde 1º de janeiro de 1970, 00:00:00 UTC. Essa data é chamada de Unix epoch. Para que serve?

\n\n
    \n
  • Universalidade: o timestamp não depende do fuso horário — é UTC puro.
  • \n
  • Facilidade de armazenamento: um único número em vez de uma string de data.
  • \n
  • Comparação: fácil calcular a diferença entre dois momentos no tempo.
  • \n
  • Compatibilidade: o timestamp é compreendido por todas as linguagens de programação e bancos de dados.
  • \n
\n\n

Agora vamos ao que interessa — como obtê-lo em JavaScript.

\n\n

Método 1: Date.now() — o mais rápido e conciso

\n\n

Este é o meu método favorito. Date.now() retorna o timestamp em milissegundos do momento atual. Sem objetos extras, sem construtores — apenas um número.

\n\n
// Obtém o timestamp atual\nconst currentTimestamp = Date.now();\nconsole.log(currentTimestamp); // 1712345678901\n\n// Pode ser usado imediatamente para medições\nconst start = Date.now();\n// ... algum código ...\nconst end = Date.now();\nconsole.log(`Execução levou ${end - start} ms`);\n
\n\n

Prós:

\n
    \n
  • Máximo desempenho (sem criação de objetos)
  • \n
  • Código legível e curto
  • \n
  • Suportado em todos os navegadores modernos e Node.js
  • \n
\n\n

Contras:

\n
    \n
  • Retorna apenas o momento atual (não é possível definir uma data)
  • \n
\n\n

Use Date.now() quando precisar do timestamp atual em JavaScript sem complicações.

\n\n

Método 2: new Date().getTime() — o clássico

\n\n

Este método é conhecido por todos que trabalham com JavaScript há mais de um ano. Cria-se um objeto Date e chama-se getTime().

\n\n
// Obtém o timestamp através do objeto Date\nconst timestamp = new Date().getTime();\nconsole.log(timestamp); // 1712345678901\n\n// Pode-se obter o timestamp para uma data específica\nconst specificDate = new Date('2024-12-31T23:59:59');\nconst specificTimestamp = specificDate.getTime();\nconsole.log(specificTimestamp); // 1735689599000\n
\n\n

Prós:

\n
    \n
  • Pode-se obter o timestamp para uma data arbitrária
  • \n
  • Compatibilidade reversa (funciona em navegadores antigos)
  • \n
  • Sintaxe intuitiva
  • \n
\n\n

Contras:

\n
    \n
  • Cria um objeto extra (um pouco mais lento que Date.now())
  • \n
\n\n

Escolha new Date().getTime() quando precisar obter o carimbo de data/hora JavaScript para uma data específica ou trabalhar com diferentes momentos no tempo.

\n\n

Método 3: +new Date() — o truque do operador unário mais

\n\n

Poucos sabem, mas o operador unário mais converte um objeto Date em número — seu timestamp. Isso funciona devido à coerção de tipos forçada.

\n\n
// Maneira curta, mas não óbvia\nconst timestamp = +new Date();\nconsole.log(timestamp); // 1712345678901\n\n// Pode até ser usado sem parênteses\nconst timestamp2 = +new Date;\nconsole.log(timestamp2); // 1712345678902\n
\n\n

Prós:

\n
    \n
  • Escrita muito curta

Blogs

Book Recommendations