GPS Time Converter

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

Hora atual — Hora GPS (segundos da época GPS)
Timestamp Unix (s)

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.