Como os deslocamentos do UTC afetam as expressões de datahora

O que é UTC?

UTC é o Tempo Universal Coordenado, o tempo em vigor em zero graus de longitude, que é usado como horário padrão global para regular o horário e fusos horários. O UTC está intimamente associado com o Horário de Greenwich (GMT) e, para muitos propósitos, os dois podem ser considerados idênticos.

O que é deslocamento do UTC?

Um deslocamento do UTC é a diferença de horas e minutos entre um fuso horário específico e o UTC, o horário a zero graus de longitude. Por exemplo, Nova Iorque é UTC-05:00, o que significa que está cinco horas atrás de Londres, que é UTC±00:00.

No Analytics, os dados de hora com um deslocamento do UTC usam este formato: hh:mm:ss±hh:mm. Por exemplo: 23:59:59-05:00

Como o Analytics processa um deslocamento do UTC

Quando o Analytics processa expressões de datahora que incluem dados de hora local com um deslocamento de UTC, o deslocamento de UTC é reconciliado e a expressão realiza o cálculo com o equivalente do UTC da hora local. As funções de datahora também reconciliam o deslocamento do UTC. Por exemplo, se uma expressão ou função encontrar a hora local 23:59:59-05:00, ela na verdade calculará o seu equivalente UTC, que é 04:59:59.

A razão pela qual as expressões e funções de datahora funcionam desta maneira é que o Analytics armazena internamente horas com deslocamentos do UTC como seu equivalente de UTC.

As datas podem ser afetadas

A reconciliação do deslocamento do UTC pode afetar datas nos dados de datahora se a reconciliação mover a hora para frente ou para trás através do limite da meia-noite. Por exemplo, o equivalente de UTC de 31 Dez 2014 23:59:59-05:00 é 1 Jan 2015 04:59:59.

Opção de exibição do UTC no Analytics

Por padrão, o Analytics exibe horas locais com o deslocamento do UTC como equivalentes em UTC reconciliados, de modo que você veja os horários reais que estão sendo usados em cálculos. Você também tem a opção de ver o horário local com o deslocamento do UTC exibido. Para mais informações sobre a exibição do UTC, consulte Opções de data e hora.

Trabalhando com dados baseados no UTC

Se você está trabalhando com dados baseados no UTC, você pode pensar que os resultados são incorretos se você não levar em conta o processo de reconciliação do UTC.

Os exemplos na tabela abaixo ilustram o efeito de deslocamentos do UTC sobre expressões de datahora. Para auxiliar com a ilustração, uma versão da expressão usando o equivalente do UTC também é exibida. A versão equivalente a UTC não é visível no Analytics quando você processa a expressão.

Expressão de datahora

Expressões com UTC equivalente

Resultado

`T235959` > `T230000`

`T235959-0500` > `T230000`

n/d

`T045959` > `T230000`

T (Verdadeiro)

F (Falso)

`20131231 235959` + 1

`20131231 235959-0500` + 1

n/d

`20140101 045959` + 1

01 Jan 2014 23:59:59

02 Jan 2014 04:59:59

CDOW(`20141231T235959`; 12)

CDOW(`20141231T235959-0500`; 12)

n/d

CDOW(`20150101T045959`; 12)

Quarta-feira

Quinta-feira

MONTH(`20141231T235959`)

MONTH(`20141231T235959-0500`)

n/d

MONTH(`20150101T045959`)

12

1

STOT(`T235959` - `T225959`)

STOT(`T235959-0500` - `T225959-0400`)

n/d

STOT(`T045959` - `T025959`)

01:00:00

02:00:00