Pular para o conteúdo

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

Horário sem fuso: o que medir antes de comparar

Como medir dado temporal que chega sem fuso declarado?

Resposta direta

Medir dado temporal sem fuso exige separar três coisas: o instante que o sistema quis registrar, o fuso em que ele operava e o desvio do relógio de origem. Sem essas três informações, o que existe é intervalo, não instante. A medição útil compara o mesmo evento em fontes diferentes, acompanha a distribuição dos horários por origem e registra a defasagem de cada relógio contra uma referência. O resultado é uma classificação por campo: instante confiável, intervalo aceitável ou não comparável. Essa classificação define o que pode entrar em relatório e com qual margem declarada.

Objetivo
Explicar medição
Formato indicado
Projeto de implementação
Atualizado em

O que esta página acrescenta: Trata o horário como medida com margem de erro por origem, não como texto a ser padronizado.

O que o carimbo registra de fato

Um campo de data e hora pode guardar três coisas distintas: o instante absoluto, o horário local de quem gerou o registro ou uma mistura das duas sem indicação. Quando o fuso não está declarado, o mesmo valor admite mais de uma leitura. Em regiões que já tiveram horário de verão, o mesmo horário local chega a corresponder a dois instantes possíveis.

A responsabilidade pelo fuso é de quem gera o dado, não de quem consome. O consumidor pode apenas declarar a suposição que adotou. Por isso a primeira medição não é técnica: é verificar, no contrato da integração ou no código do sistema de origem, se o campo grava época, horário local ou texto formatado. O nome do campo raramente responde.

Como transformar incerteza em margem declarada

A medição prática tem três frentes. A primeira compara o mesmo evento em duas origens que o registram, anotando a diferença em minutos. A segunda acompanha a distribuição dos horários por origem, o que revela concentração estranha em determinada hora do dia. A terceira mede a defasagem do relógio de cada sistema contra uma referência externa, com o desvio observado e a frequência da checagem.

O resultado vai para o dicionário de dados, não para um relatório avulso. Cada campo recebe a classificação, a margem assumida e a origem da suposição. Relatórios que comparam sistemas diferentes passam a declarar essa margem. Quando a margem é maior que a diferença que se pretende analisar, a comparação não sustenta decisão.

Quando a medição não fecha

Nenhuma medição recupera o fuso que não foi gravado. Se o evento existe em uma única fonte, o máximo que se obtém é um intervalo provável, não o instante. Nesse caso a saída honesta é marcar o campo como não comparável e dizer o que fica fora da análise.

O método também não corrige erro de processo. Se a origem grava o horário de digitação no lugar do horário do evento, a margem mede diferença entre fontes e não o desvio real. E não substitui acordo com fornecedor: enquanto o contrato não exigir offset, cada nova versão do sistema pode voltar a gravar horário local sem aviso.

Recurso prático

Roteiro de medição de campo temporal sem fuso

  1. Listar todo campo de data e hora que entra ou sai da operação, com sistema de origem, formato e indicação de offset.
  2. Classificar cada campo conforme a origem: época absoluta, horário local do evento, horário local do servidor ou texto sem marcação. A resposta vem do contrato da integração ou do código, não do nome do campo.
  3. Comparar o mesmo evento em duas fontes que o registram e anotar a diferença em minutos. Repetir nos dias de mudança de horário de verão, quando houver.
  4. Medir a defasagem do relógio de cada origem contra uma referência confiável, registrando o desvio observado e a frequência da checagem.
  5. Classificar cada campo em instante confiável, intervalo aceitável ou não comparável, e definir o que essa classificação libera ou bloqueia em relatório.
  6. Registrar no dicionário de dados a suposição de fuso adotada e a margem por campo, com a data da última revisão.

O erro mais comum é converter tudo para UTC na importação e considerar o assunto encerrado. A conversão fixa uma suposição sobre o fuso de origem. Se essa suposição estiver errada, o erro deixa de aparecer e passa a contaminar todos os relatórios que usam a base convertida.

Sobre o que está escrito aqui

Conceitos relacionados: offset UTC · horário local · relógio de origem · carimbo de data e hora · horário de verão. 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.