Conversão de tempo Unix
Converta tempo Unix inteiro em segundos para uma data/hora civil ou interprete uma data/hora local em um fuso IANA nomeado e obtenha seu timestamp Unix.
O que é um timestamp Unix?
O tempo Unix representa um instante por meio de uma contagem inteira relativa à Unix Epoch, 1970-01-01 00:00:00 UTC. Assim, o conhecido timestamp 0 corresponde à própria época. Valores positivos representam instantes posteriores e, em sistemas que os suportam, valores negativos representam instantes anteriores à época.
Um timestamp Unix não carrega um fuso horário local
O timestamp identifica um instante independentemente de ele ser exibido depois em São Paulo, Nova York, Londres ou Tóquio. O fuso é aplicado quando esse instante é convertido em campos civis de calendário, como ano, mês, dia, hora e offset UTC. Por isso, um mesmo timestamp pode gerar horários locais diferentes sem representar instantes diferentes.
Por que usar America/Sao_Paulo em vez de apenas UTC−03:00?
Um identificador de fuso IANA referencia um histórico de regras, e não apenas um deslocamento numérico fixo. O IANA Time Zone Database registra transições do horário civil e é atualizado periodicamente quando governos alteram limites de fusos ou regras de horário de verão. Um offset fixo como UTC−03:00 não contém regras históricas nem futuras de transição.
UTC, offset UTC e fuso horário são conceitos diferentes
UTC é a referência usada para coordenação do horário civil. Um offset como −03:00 descreve um deslocamento em relação a UTC em determinado instante. Uma zona nomeada como America/Sao_Paulo representa um conjunto de regras civis que pode mapear diferentes instantes históricos para diferentes offsets. Tratar esses três conceitos como equivalentes é uma fonte comum de erros em sistemas de data e hora.
Timestamp Unix versus data/hora textual da Internet
Um timestamp Unix é compacto e conveniente para processamento, enquanto representações no estilo ISO 8601 são legíveis e podem incluir explicitamente o offset. A RFC 3339 define um perfil de data/hora para a Internet baseado nas convenções ISO 8601. Uma saída como 2026-08-30T11:00:00-03:00 comunica os campos do calendário e o offset numérico, enquanto o timestamp Unix comunica o instante como valor numérico baseado na época.
Transições de horário de verão podem criar horas locais inexistentes ou repetidas
Quando o relógio civil avança, alguns horários locais podem ser pulados. Quando ele atrasa, alguns horários locais podem ocorrer duas vezes com offsets UTC diferentes. Isso torna a conversão “data/hora local → instante” naturalmente mais complexa do que “timestamp → data/hora local”. Em sistemas críticos de agendamento, armazene o instante junto com a zona IANA pretendida e defina como horários locais ambíguos ou inexistentes devem ser tratados.
Tempo Unix/POSIX não é um contador de segundos intercalares
O modelo POSIX/Unix convencional usado por sistemas operacionais comuns e pelo PHP não representa segundos intercalares como valores extras distintos de timestamp na escala de tempo usual. Isso importa ao comparar timestamps Unix com escalas especializadas de astronomia ou metrologia de tempo. Para aplicações web, servidores, logs e sistemas comuns, use de forma consistente a semântica de tempo Unix da plataforma.
O problema do ano 2038 depende da representação de inteiro/tempo da plataforma
Uma representação de tempo com inteiro assinado de 32 bits atinge seu limite positivo em 19/01/2038 às 03:14:07 UTC. Ambientes modernos de 64 bits oferecem uma faixa muito maior, mas a interoperabilidade ainda exige atenção ao trocar timestamps com bancos legados, dispositivos, protocolos ou sistemas de 32 bits. Esta calculadora valida a entrada de acordo com a faixa inteira disponível no ambiente PHP em execução.
Valores de 10 e 13 dígitos frequentemente usam unidades diferentes
Os timestamps Unix tradicionais usados por esta calculadora são expressos em segundos. Muitos ambientes JavaScript e APIs também usam milissegundos desde a época, o que atualmente produz valores com cerca de 13 dígitos decimais em vez dos aproximadamente 10 dígitos comuns dos timestamps em segundos. Sempre confirme a unidade antes de converter ou armazenar um valor baseado em época.
Armazene instantes e intenção de horário civil de forma consciente
Para eventos que já aconteceram, armazenar um instante não ambíguo costuma ser essencial. Para agendas civis futuras — por exemplo, “09:00 toda segunda-feira em São Paulo” — a zona nomeada também pode fazer parte do significado do negócio, pois governos podem alterar regras de horário civil. Converter permanentemente toda agenda futura para um offset UTC fixo pode perder essa intenção.