Pular para o conteúdo

Soluções · Integrações, sistemas e qualidade de dados

Horário sem fuso: como comparar registros entre sistemas

Como comparar horários de sistemas diferentes quando nenhum campo declara o fuso?

Resposta direta

Comparar horário sem fuso exige primeiro decidir o que o campo representa. O mesmo valor pode ser hora local do evento, hora do servidor que gravou ou UTC sem marcação. Sem essa definição, qualquer junção entre bases produz intervalos errados, e o erro muda de tamanho no horário de verão. As alternativas usuais são preservar a hora local com fuso explícito em campo separado, converter para UTC na entrada ou manter o valor original e tratar a conversão na consulta. A escolha se compara por reversibilidade, rastro de auditoria e custo de correção, não por preferência técnica.

Objetivo
Comparar alternativas
Formato indicado
Projeto de implementação
Atualizado em

O que esta página acrescenta: Compara as alternativas de tratamento do horário sem fuso pelo custo operacional de cada uma, não pela conversão em si.

Três origens possíveis para o mesmo valor

Um campo de data e hora sem fuso admite pelo menos três leituras: hora local de quem gerou o registro, hora do servidor que gravou ou UTC sem indicação. As três produzem o mesmo texto e resultados diferentes em qualquer conta de intervalo.

O efeito aparece quando duas bases se encontram. Um pedido gravado às 23h40 pode pertencer ao dia anterior ou ao seguinte, dependendo da origem. Relatórios diários, janelas de prazo e ordem de eventos passam a depender de suposição, não de dado.

O que comparar entre as alternativas

Preservar a hora local e gravar o fuso em campo separado mantém o valor original legível e permite reconstruir a conversão. Converter para UTC na entrada simplifica a comparação, mas apaga a hora local se o original não for guardado. Manter o valor bruto e converter na consulta distribui a regra por cada relatório.

Os critérios de comparação são reversibilidade, existência de rastro de auditoria, custo de corrigir registros antigos, comportamento na mudança de horário de verão e quantidade de pontos do sistema que precisam aplicar a mesma regra. O caminho com menos pontos de conversão tende a envelhecer melhor.

O que a escolha não resolve

A escolha não recupera a informação que nunca foi gravada. Base histórica sem metadado de origem continua ambígua, e a conversão apenas formaliza uma suposição. Também não corrige regras de fuso alteradas depois do registro nem atende exigência contratual de manter a hora local do evento.

Quando o campo alimenta obrigação legal, faturamento ou registro de jornada, a hora local original costuma ser o dado exigido. Nesses casos, a alternativa mais simples tecnicamente pode ser a errada. A decisão precisa ficar por tipo de evento, com dono definido e registro da hipótese adotada.

Recurso prático

Roteiro para escolher o tratamento de um campo temporal sem fuso

  1. Listar cada campo de data e hora, o sistema que o grava e o que ele alimenta em relatório, contrato ou cálculo de prazo.
  2. Classificar o campo em uma das três origens prováveis e separar o que é fato do que é suposição.
  3. Testar as alternativas em uma janela que contenha mudança de horário de verão e comparar a ordem dos eventos e os totais diários.
  4. Medir o custo de correção: quantos registros teriam de ser reescritos e quantos relatórios aplicariam a mesma regra.
  5. Registrar a decisão, o dono do campo e a data da última revisão junto ao dicionário de dados.

O erro mais comum é converter tudo para UTC sem guardar a hora local original. Isso resolve a comparação e cria um problema novo quando alguém precisa provar o horário que constava no documento.

Conceitos usados nesta página

  • Trilha de auditoria — Trilha de auditoria é o conjunto de registros que permite reconstruir quem fez o quê, quando e com qual dado — inclusive depois que o resultado já foi usado.

Sobre o que está escrito aqui

Conceitos relacionados: timestamp sem fuso · horário de verão · UTC · fuso do servidor · trilha de auditoria. Exemplos são ilustrativos. Não há cliente, resultado, preço, prazo ou certificação nesta página. Quando o formato indicado é Projeto de implementação, ele descreve uma possibilidade de trabalho — a conversa inicial avalia contexto e aderência.

Para continuar

Páginas relacionadas

O mesmo problema em outro objetivo

Outras leituras em Integrações, sistemas e qualidade de dados

Quer avaliar isso no seu contexto?

Esta página trata de dado temporal sem fuso declarado. Diagnóstico de integração é a frente que investiga o mecanismo por trás desse tipo de problema. O formato mais associado é Projeto de implementação.