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 |