Conversor de GPS para timestamp Unix
Converta GPS em tempo Unix com a fórmula exata e suporte para valores grandes. Saída em segundos, milissegundos, ISO 8601 e formato legível.
segundos desde 06-01-1980, sem segundos intercalares
O que é o tempo GPS?
O tempo GPS é uma escala de tempo contínua que começou às 00:00:00 UTC de 6 de janeiro de 1980 e, ao contrário do UTC, nunca insere segundos bissextos. Como resultado, o tempo GPS se adiantou em relação ao UTC; desde 2017 a diferença é de 18 segundos e permanece fixa até que o próximo segundo bissexto seja anunciado.
- Época: 1980-01-06 00:00:00 UTC
- Sem segundos bissextos — o GPS é uma contagem contínua de segundos SI
- GPS − UTC = 18 segundos (atual, desde 2017-01-01)
- Frequentemente expresso como número de semana GPS + segundos dentro da semana
Como converter o tempo GPS em uma marca de tempo Unix
Há 315.964.800 segundos entre a época Unix (1970) e a época GPS (1980). Some esse deslocamento e depois subtraia a diferença atual de segundos bissextos para que o resultado caia em UTC.
- Unix seconds = GPS + 315964800 − 18
- Exemplo: 1384035218 → 1700000000 → 2023-11-14 22:13:20 UTC
- Inverso: GPS = Unix seconds − 315964800 + 18
- Este conversor aplica o deslocamento atual de 18 segundos
Segundos bissextos e precisão
O deslocamento de segundos bissextos não é constante ao longo da história: era 0 em 1980 e cresceu para 18. Converter um tempo GPS de, digamos, 2005 (quando o deslocamento era 13) com o valor de 18 segundos de hoje introduz um pequeno erro. Para trabalho histórico de alta precisão, aplique a contagem de segundos bissextos vigente naquele tempo GPS. Para conversões atuais, o deslocamento de 18 segundos está correto.
- Histórico do deslocamento: 0 s (1980) → 13 s (2006) → 16 s (2012) → 17 s (2015) → 18 s (2017)
- Os rollovers de semana GPS (1024 semanas) também podem confundir a análise baseada em semanas
- Os receptores geralmente já emitem UTC; o tempo GPS bruto aparece principalmente em dados RINEX e de efemérides
Conversores de formato de marca de tempo relacionados
Números de semana GPS e histórico de segundos bissextos
Duas coisas atrapalham os desenvolvedores que trabalham com tempo GPS bruto:
- Rollover de semana GPS: o campo de número de semana GPS tem 10 bits (1024 semanas ≈ 19,7 anos). Houve rollover em 2019-04-06; o próximo é em 2038-11
- Histórico de segundos bissextos: GPS−UTC foi 0 em 1980, 13 em 2006, 16 em 2012, 17 em 2015 e 18 desde 2017-01-01. Fixar 18 no código só funciona para datas recentes
- O TAI (Tempo Atômico Internacional) está adiantado em relação ao UTC em 37 segundos (os 18 segundos bissextos do GPS mais 19 ajustes históricos)
- As datas de cabeçalho RINEX (Receiver Independent Exchange Format) são tempo GPS, não UTC
- Os sinais PPS (pulso por segundo) dos receptores se alinham aos segundos GPS, não aos segundos UTC
FAQ
- O que é o epoch do GPS?
- O tempo GPS começa às 00:00:00 UTC de 6 de janeiro de 1980.
- Por que o tempo GPS está à frente do UTC?
- O tempo GPS não inclui segundos bissextos, enquanto o UTC inclui. Desde 1980, 18 segundos bissextos foram adicionados ao UTC, então o GPS está atualmente 18 segundos à frente.
- Como converto o tempo GPS em tempo Unix?
- Some 315.964.800 segundos (o intervalo 1970 → 1980) e subtraia o deslocamento atual de 18 segundos bissextos para obter uma marca de tempo Unix em UTC.