Como obter timestamp em JavaScript: 5 maneiras com exemplos
\n\nTodo 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\nSe 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\nO que é timestamp e para que serve?
\n\nTimestamp (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
Agora vamos ao que interessa — como obtê-lo em JavaScript.
\n\nMétodo 1: Date.now() — o mais rápido e conciso
\n\nEste é o meu método favorito. Date.now() retorna o timestamp em milissegundos do momento atual. Sem objetos extras, sem construtores — apenas um número.
// 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\nPró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
Contras:
\n- \n
- Retorna apenas o momento atual (não é possível definir uma data) \n
Use Date.now() quando precisar do timestamp atual em JavaScript sem complicações.
Método 2: new Date().getTime() — o clássico
\n\nEste método é conhecido por todos que trabalham com JavaScript há mais de um ano. Cria-se um objeto Date e chama-se getTime().
// 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\nPrós:
\n- \n
- Pode-se obter o timestamp para uma data arbitrária \n
- Compatibilidade reversa (funciona em navegadores antigos) \n
- Sintaxe intuitiva \n
Contras:
\n- \n
- Cria um objeto extra (um pouco mais lento que Date.now()) \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.
Método 3: +new Date() — o truque do operador unário mais
\n\nPoucos 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\nPrós:
\n- \n
- Escrita muito curta