Conversor de Timestamps
Converta entre timestamps Unix e datas legíveis
Recursos
- Conversão bidirecional entre timestamps Unix (segundos desde 1970-01-01T00:00:00Z) e datas legíveis usando o objecto Date nativo do navegador
- Visualização ao vivo do epoch atual com atualização num clique, mais saída formatada na configuração regional do navegador e em ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ)
- Atalhos para tempos relativos: há 1 hora, 1 dia, 1 semana, 1 mês — calculados no instante do clique
- Timestamps de referência incluídos: Unix epoch (1 jan. 1970), Y2K (1 jan. 2000), lançamento do iPhone (29 jun. 2007), bloco Génese do Bitcoin (3 jan. 2009)
- Aceita formatos de data padrão analisáveis por Date.parse: ISO 8601, RFC 2822, datetime-local e muitas strings regionais
- Validação que distingue timestamp-inválido (entrada não numérica) de data-inválida (não analisável) com mensagens localizadas claras
- Botão «Hora atual» que preenche o campo de data em formato datetime-local local e converte de imediato
- Botões de cópia ao lado de cada resultado — campos vazios e estados de erro são excluídos para que a área de transferência nunca receba conteúdo obsoleto
Como usar
- Para transformar um timestamp em data, cole um Unix epoch de 10 dígitos (segundos) no campo Timestamp; a ferramenta multiplica por 1000 para Date().
- Para transformar uma data em timestamp, escreva ou cole uma data num formato analisável por Date() (ISO 8601 como 2026-01-15T10:30:00Z é o ideal).
- Ou clique em «Hora atual» para preencher o campo de data com o instante presente e ver o epoch correspondente.
- Use as conversões rápidas (há 1 hora/dia/semana/mês) para obter timestamps relativos para filtragem de logs ou contas de TTL de cache.
- Clique no ícone de copiar ao lado de um resultado; a saída está na configuração regional do navegador mais ISO 8601 para uso por máquina.
- Carregue em Limpar para reiniciar ambos os campos antes de uma nova conversão.
Dicas e Melhores Práticas
- Especifique sempre o fuso horário ao trabalhar com timestamps para evitar confusões.
- Use UTC como fuso de referência padrão para aplicações internacionais.
- Verifique as transições de horário de verão ao converter datas.
- Marque como favoritas as conversões frequentes para acesso mais rápido.
- Copie os resultados diretamente para o seu código ou ficheiros de configuração.
Perguntas Frequentes
Segundos ou milissegundos — que timestamp Unix esta ferramenta espera?
Esta ferramenta usa timestamps Unix em segundos (10 dígitos para datas atuais, ex.: 1735689600), o padrão POSIX usado por C time(), Linux, MySQL UNIX_TIMESTAMP() e a maioria das APIs. Date.now() em JavaScript e muitas APIs JSON usam milissegundos (13 dígitos). Se tem um número de 13 dígitos, divida por 1000 antes de colar, ou cole a string de data diretamente no campo Data.
Como são tratados os fusos horários?
Os timestamps Unix são inerentemente UTC — o mesmo instante independentemente do fuso. Ao converter timestamp para data, a saída usa o fuso local do navegador via toLocaleString(), e o campo ISO mostra o equivalente UTC. Ao converter data para timestamp, strings ambíguas (ex.: '2026-01-15') são lidas como o seu fuso local, enquanto strings ISO terminadas em Z ou com um offset (+02:00) são inequívocas. Inclua sempre o offset para fiabilidade entre sistemas.
O que é o Unix epoch e porquê 1 de janeiro de 1970?
O Unix epoch é 1970-01-01T00:00:00Z, escolhido pela Bell Labs como referência redonda próxima do desenvolvimento do Unix (1969-1971). O timestamp 0 corresponde exatamente a esse instante; os timestamps contam os segundos decorridos desde então (valores negativos são anteriores a 1970). Quase todos os sistemas operativos e linguagens modernas contam a partir deste mesmo epoch, tornando-o a lingua franca do tempo na informática.
E o problema do ano 2038?
Sistemas que armazenam timestamps Unix como inteiro de 32 bits com sinal transbordam em 19 de janeiro de 2038 às 03:14:07 UTC (timestamp 2147483647), saltando para um valor negativo que representa 1901. JavaScript e sistemas modernos de 64 bits usam números de 64 bits e são seguros por ~292 mil milhões de anos. Se está a auditar C antigo, colunas MySQL TIMESTAMP ou firmware embebido, planeie a migração para time_t de 64 bits ou Unix em milissegundos antes de 2038.
Posso converter um timestamp especificamente para ISO 8601?
Sim — após a conversão, a ferramenta também mostra a forma ISO 8601 via Date.toISOString(), ou seja YYYY-MM-DDTHH:mm:ss.sssZ em UTC. ISO 8601 é o único formato que deve enviar entre sistemas: inequívoco, ordenável como string, e nativamente suportado por JavaScript, Python fromisoformat, Postgres TIMESTAMPTZ e praticamente qualquer API moderna. Evite 'MM/DD/YYYY' à americana ou 'DD/MM/YYYY' à europeia para dados inter-sistema.
Porque é que a minha string de data devolve um erro de data-inválida?
Date.parse é tolerante mas inconsistente entre navegadores para formatos não-ISO. Entradas fiáveis são ISO 8601 ('2026-01-15T10:30:00Z'), o formato datetime-local ('2026-01-15T10:30') e RFC 2822 completo ('Thu, 15 Jan 2026 10:30:00 GMT'). Evite formatos crus como '15/01/2026' (ambíguo) ou 'Jan 15' (sem ano). Se tem um formato personalizado de um ficheiro de log, normalize-o primeiro para ISO 8601.
Funciona para timestamps SQL e campos de base de dados?
Sim, com uma ressalva: a maioria dos servidores SQL armazena TIMESTAMP/DATETIME sem info de fuso, pelo que o valor da coluna é hora de relógio de parede em relação ao fuso da sessão do servidor. Anexe o offset do servidor antes de colar (ex.: '2026-01-15 10:30:00+00'). PostgreSQL TIMESTAMPTZ, MySQL TIMESTAMP (armazenado internamente como UTC) e SQLite funcionam todos bem com ISO 8601.
É enviado algo para um servidor?
Não. Todas as conversões usam o construtor Date integrado do navegador e Math.floor — sem chamadas de rede. O relógio de hora atual lê a hora do sistema do seu dispositivo. Pode verificá-lo no separador Rede do DevTools; a ferramenta corre puramente do lado do cliente e funciona totalmente offline após carregada.