Como usar
- 1O tempo Unix atual avança no topo da ferramenta. Clique em Copiar para pegá-lo em segundos ou milissegundos.
- 2Cole um timestamp em “Timestamp para data”. A unidade é reconhecida pelo número de dígitos; se o palpite estiver errado, escolha você mesmo segundos, milissegundos, microssegundos ou nanossegundos.
- 3Você também pode colar uma data, como
2024-05-01T12:00:00ZouWed, 01 May 2024 12:00:00 GMT, para vê-la em todos os formatos e como timestamp. - 4Para fazer o caminho inverso, escolha uma data e uma hora em “Data para timestamp”, selecione hora local ou UTC e copie o resultado.
O que é o tempo Unix?
O tempo Unix – também chamado de epoch time ou timestamp POSIX – conta os segundos desde 00:00:00 UTC de 1º de janeiro de 1970, a chamada época Unix (Unix epoch). A contagem passou de 1.700.000.000 em 14 de novembro de 2023, às 22:13:20 UTC. Momentos anteriores a 1970 são números negativos.
Um timestamp é um único número, livre de fusos horários, calendários e formatos de data, então é fácil de armazenar, ordenar e comparar. É por isso que bancos de dados, APIs, arquivos de log, sistemas de arquivos e JSON Web Tokens o usam em todo lugar.
Segundos, milissegundos, microssegundos ou nanossegundos?
O tempo Unix clássico conta segundos, e os valores atuais têm 10 dígitos. O Date.now() do JavaScript e o System.currentTimeMillis() do Java retornam milissegundos (13 dígitos), alguns bancos de dados armazenam microssegundos (16 dígitos), e o UnixNano() do Go e o time.time_ns() do Python retornam nanossegundos (19 dígitos).
O conversor deduz a unidade pelo tamanho do número: até 11 dígitos, considera segundos; de 12 a 14 dígitos, milissegundos; de 15 a 17, microssegundos; e 18 ou mais, nanossegundos. Só valores muito pequenos em milissegundos, de antes de março de 1973, são ambíguos – para esses, escolha a unidade você mesmo.
Fusos horários, o ano 2038 e os segundos bissextos
Um timestamp marca o mesmo instante em todo o planeta; só a forma de exibi-lo depende do fuso horário. 1.700.000.000 corresponde a 22:13:20 em Londres, 23:13:20 em Praga, 19:13:20 em São Paulo e 17:13:20 em Nova York. Armazene e troque dados em UTC e converta para a hora local só na hora de mostrar às pessoas.
Sistemas que guardam o tempo Unix em um inteiro de 32 bits com sinal chegam ao limite às 03:14:07 UTC de 19 de janeiro de 2038, quando o contador estoura e volta para 1901 – o problema do ano 2038. Os sistemas atuais usam 64 bits, que duram bilhões de anos.
O tempo Unix ignora os segundos bissextos: todo dia conta exatamente 86.400 segundos. Quando um segundo bissexto é adicionado ao UTC, o relógio Unix repete um segundo ou o distribui ao longo do tempo, então a diferença entre dois timestamps pode ficar menor, pelos segundos bissextos entre eles – 27 desde 1972.
Perguntas frequentes
Como obter o timestamp Unix atual?
Ele aparece no topo desta página. No código, use Math.floor(Date.now() / 1000) em JavaScript, time.time() em Python, time() em PHP, DateTimeOffset.UtcNow.ToUnixTimeSeconds() em C# ou date +%s em um terminal Linux ou macOS.
Um timestamp Unix está em segundos ou em milissegundos?
Tradicionalmente em segundos, mas muitas plataformas, como JavaScript e Java, usam milissegundos. Conte os dígitos: um timestamp atual tem 10 dígitos em segundos e 13 em milissegundos. Este conversor reconhece a unidade e informa qual delas considerou.
O tempo Unix depende do fuso horário?
Não. Ele é sempre contado a partir da meia-noite UTC de 1º de janeiro de 1970, então é o mesmo número em todo lugar no mesmo instante. O fuso horário só importa quando você transforma o número em uma data de calendário e em um horário.
O que acontece com o tempo Unix em 2038?
Às 03:14:07 UTC de 19 de janeiro de 2038, o tempo Unix passa de 2.147.483.647 – o maior valor que um inteiro de 32 bits com sinal consegue guardar. Softwares que ainda armazenam o tempo em 32 bits vão voltar para dezembro de 1901. Sistemas operacionais, bancos de dados e linguagens modernos usam tempo de 64 bits e não são afetados.
Como converter um timestamp Unix no Excel ou no Planilhas Google?
Para segundos, use =A1/86400+DATA(1970;1;1) (na versão em inglês, =A1/86400+DATE(1970,1,1)) e formate a célula como data e hora; para milissegundos, divida por 86.400.000. O resultado fica em UTC, então some ou subtraia a sua diferença em relação ao UTC, em horas, dividida por 24.