Initializing, please wait a moment

Este Numero Longo e um Timestamp? Milissegundos vs Segundos

Ultima revisao 2026-05-03. Voce colou um numero de 10, 13, 16 ou 19 digitos de um log de servidor, de uma resposta de API ou de uma linha de banco de dados, e agora precisa saber o que e. Este guia e o teste de 30 segundos - conte os digitos, faca um sanity-check do ano, encaminhe para o conversor certo.

Resposta em 30 segundos. Conte os digitos no numero. 10 digitos → Unix segundos (cole em o conversor de milissegundos para data depois de multiplicar por 1000, ou use qualquer ferramenta de segundos para data). 13 digitos → Unix milissegundos (cole direto em o conversor de milissegundos para data). 16 digitos → microssegundos (raro; geralmente telemetria). 19 digitos → nanossegundos (raro; geralmente tracing de alta precisao). Qualquer outra contagem e o numero provavelmente e um ID, nao um timestamp.

O teste de 30 segundos: conte os digitos

Os formatos dominantes de timestamp Unix codificam tempo como uma contagem de "ticks desde 1970-01-01 00:00:00 UTC". O tamanho do tick difere - segundos, milissegundos, microssegundos, nanossegundos - e isso muda quantos digitos o numero tem em qualquer momento dado em 2026. Hoje (2026), aqui esta a regra pratica de contagem de digitos:

DigitosSignificado mais provavelOnde voce normalmente veConverter com
10Unix segundosUnix date +%s, PHP time(), Python time.time() truncado, Go time.Now().Unix(), a maioria dos formatos de log de servidor.Multiplique por 1000 e cole no conversor de milissegundos, ou use uma ferramenta dedicada de segundos para data.
13Unix milissegundosJavaScript Date.now(), Java System.currentTimeMillis(), a maioria das APIs JSON, escritas Firebase / Firestore, IDs de mensagens Slack / Discord codificados como ms.Cole direto no conversor de milissegundos para data.
16Unix microssegundosPostgreSQL now(), Python time.time_ns() // 1000, traces OpenTelemetry, BigQuery CURRENT_TIMESTAMP().Divida por 1000 e trate o resultado como milissegundos.
19Unix nanossegundosGo time.Now().UnixNano(), traces Prometheus, offsets Kafka, timestamps de evento eBPF.Divida por 1.000.000 e trate o resultado como milissegundos.
11, 12, 14, 15, 17, 18Provavelmente nao e um timestampID de sequencia, prefixo de ID Snowflake, numero de conta, variante de numero de telefone, numero de roteamento de conta.Veja "Quando o numero nao e um timestamp" abaixo.

Por que a maioria dos numeros que voce ve na web sao milissegundos

O Date.now() do JavaScript, o System.currentTimeMillis() do Java e a maioria dos backends modernos que emitem JSON sao padronizados para milissegundos desde o epoch Unix. Esse momento - 2026-05-03 09:38:00 UTC - e 1777800999 em segundos (10 digitos) mas 1777800999000 em milissegundos (13 digitos). A forma de 13 digitos aparece em respostas de rede, consoles de dev-tool do navegador, linhas de log e dashboards mais que qualquer outra forma de timestamp, que e por que a pergunta de leitor mais comum para esse tipo de timestamp e "este e um numero de 13 digitos, que data e essa?"

Essa observacao da um sanity-check rapido: se seu numero tem 13 digitos e comeca com 1777, e quase certamente um milissegundo Unix de maio de 2026. Se ele comeca com 16 ou 17 em 2026, esta no campo certo. Se ele comeca com 1 seguido de qualquer coisa (por exemplo 1234567890123), voce ainda deveria converte-lo para uma data e verificar o ano antes de assumir - dados de teste bogus frequentemente escolhem numeros de vaidade como 1234567890 que renderiza como 2009 (sexta-feira 13 de fevereiro).

Quando o numero NAO e um timestamp

Varios numeros longos parecem timestamps mas nao sao:

  • IDs Snowflake / Twitter / Discord (normalmente 18-19 digitos). Eles codificam um timestamp em seus bits altos mas os bits baixos sao IDs de worker e contadores de sequencia; tratar o numero inteiro de 19 digitos como um nanossegundo Unix produzira uma data muito errada. Decodificar Snowflake requer um bit-shift, nao uma divisao.
  • UUIDv7 (32 digitos hex, mas os primeiros 12 caracteres hex codificam milissegundos). Se voce tem 32 caracteres hex formatados com hifens, e um UUID, nao um timestamp - converta apenas os primeiros 48 bits se precisar do tempo embutido.
  • IDs de sequencia BIGINT de banco de dados. Esses sao inteiros auto-incrementados e nao tem componente de tempo; eles crescem ate a faixa de 12-13 digitos conforme a sequencia avanca. Verificacao rapida: se a mesma coluna em linhas adjacentes difere por 1 (ou por um pequeno passo previsivel), e uma sequencia, nao um timestamp.
  • Numeros de telefone armazenados como inteiros. Um numero de 10-12 digitos que comeca com um prefixo de codigo de pais (por exemplo 1212 para Nova York) pode ser um numero de telefone renderizado sem separadores. Converta e verifique: se o ano resultante e antes de 1970 ou depois de 2100, nao e um timestamp Unix.
  • Numeros de conta / pedido. Numeros de estilo de preenchimento como 1000000123 (10 digitos mas nao um valor de segundo Unix) normalmente tem um prefixo de largura fixa que os entrega - eles nao crescem de forma constante ao longo do tempo.

A desambiguacao mais barata e colar o numero no conversor de milissegundos e olhar o ano. Se o resultado e em 1970 (numero era na verdade segundos, voce o tratou como ms) ou em algum ano futuro distante como 56.000 (numero era milissegundos, voce o tratou como segundos), a contagem de digitos vai te dizer em que direcao converter. Se o resultado e plausivel (2025-2027 para dados ao vivo, 1990-2025 para dados historicos), voce tem sua resposta.

Playbook rapido de conversao

Tres passos, sem matematica:

  1. Conte os digitos. 10 digitos = segundos; 13 = milissegundos; 16 = microssegundos; 19 = nanossegundos; caso contrario veja a secao anterior.
  2. Cole no conversor certo. Numeros de 13 digitos vao direto para o conversor de milissegundos para data. Segundos de 10 digitos: anexe tres zeros (entao 1777800999 vira 1777800999000) e cole. Microssegundos de 16 digitos: descarte os tres ultimos digitos. Nanossegundos de 19 digitos: descarte os seis ultimos digitos. O conversor mostra a data UTC resultante e sua data local.
  3. Sanity-check o ano. Se o ano e inesperado (1970 ou 56000), voce converteu na direcao errada. Releia a contagem de digitos e tente de novo. Se o ano e plausivel, voce tem o valor certo.

Para o problema inverso - "me da os milissegundos Unix atuais para que eu possa comparar" - abra a ferramenta de milissegundos Unix atuais; ela tica ao vivo e copia para a area de transferencia. Comparar dois timestamps e o jeito mais rapido de confirmar se seu numero e "agora-ish" ou dados velhos.

Perguntas frequentes

E sobre numeros de 11 ou 12 digitos? Eles parecem quase segundos.
Segundos Unix nao produzirao 11 digitos ate o ano 2286. Milissegundos Unix tinham 12 digitos entre 2001 (10^12 ms = 31,7 anos depois de 1970) e 2286. Entao um numero de 12 digitos da era atual e mais provavelmente um ID de sequencia ou um numero de telefone; um numero de 11 digitos quase certamente nao e um valor Unix atual de nenhum tipo.

O numero e negativo ou comeca com um sinal de menos. E um timestamp?

Sim - timestamps Unix negativos sao datas antes de 1970-01-01 UTC. -1000000000 segundos e 1938-04-24. A maioria das bibliotecas padrao de linguagens lida com segundos negativos corretamente; algumas ferramentas web os rejeitam. O conversor de milissegundos aceitara entradas negativas.

Por que a mesma data da um numero diferente em dois sistemas?

O numero em si e sem fuso horario (tempo Unix e sempre UTC). O que difere e como cada sistema renderiza o numero em uma string legivel - uma ferramenta pode escolher UTC, outra seu fuso local. O inteiro Unix subjacente e o mesmo. Se dois sistemas discordam do numero para o mesmo momento, um deles esta usando uma unidade diferente (segundos vs milissegundos) ou um epoch diferente (por exemplo Excel usa 1900-01-01 como seu epoch, que nao e tempo Unix).

Posso obter segundos fracionarios de um valor Unix de 10 digitos?

Nao - um valor de segundos de 10 digitos tem resolucao de 1 segundo. Segundos fracionarios (precisao de milissegundos / microssegundos) requerem os formatos mais longos. Se seus dados precisam de precisao sub-segundo, voce deve estar armazenando milissegundos (13 digitos), microssegundos (16) ou nanossegundos (19). Armazenar apenas os segundos inteiros joga fora a precisao.

O JavaScript new Date().valueOf() e o mesmo que Date.now()?
Sim. Ambos retornam milissegundos Unix. Date.now() e a forma moderna, preferida; new Date().valueOf() e mais antigo, mais lento (aloca um objeto Date) mas produz o mesmo numero.

Relacionado

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.