Suponhamos o nosso exemplo das pessoas almoçando em São Paulo e em Tókio. Quando a pessoa olha o seu relógio pessoal ela obtém um instante atual local. Esse instante é então convertido utilizando um calendário para uma data e hora locais (LocalDateTime
).
Não podemos comparar objetos LocalDateTime
coletados em regiões diferentes. Precisamos então comparar os momentos em uma mesma região. Para isso convertemos o LocalDateTime
obtido em são Paulo para o ZonedDateTime
correspondente, considerando o fuso horario de São Paulo naquele momento. Fazemos o mesmo para o LocalDateTime
de Tókio. Obtemos o seguinte:
-
Transferimos o ZonedDateTime
de São Paulo para Tókio
-
Transferimos o ZonedDateTime
de Tókio para São Paulo
-
Transferimos ambos para um fuso horário de referência, como UTC.
Transferir, significa calcular o momento que um relógio na outra região indicaria, no mesmo momento, em que o relógia da região lida, indicou o valor que temos.
Para transferir para UTC basta aplica o simétrico do fuso horario. Se São Paulo está a -3h, então somamos 3h. Se Tókio está a +9h, subtraimos 9h.
Podemos então ver que quanto a pessoa em Tókio almoçou eram 3h45 da madrugada em Greenwich, mas quando a pessoa em São Paulo almoçou eram 15h45 da tarde em Greenwich, ou seja, muito depois. 12h depois, exatamente. Sabemos então que a pessoa em Tókio almoçou 12h antes que a pessoa em São Paulo.
Vejamos como chegar na mesma conclusão transferindo o momento em São Paulo para Tókio.
Veja que obtemos o momento em Tókio somando 12h ao momento original. 12 é a soma de 3 - a diferenção de São Paulo até Greenwich com 9 - a diferença de Greenwich até Tókio. Podemo então ver que quando a pessoa em São Paulo almoçou, já eram 0h45 do dia seguinte em Tókio, então claramente aconteceu depois e, portanto, a pessoa em Tókio almoçou 12h antes que a pessoa em São Paulo.
A lição é que não podemos comparar momentos definido localmente, com outros definidos localmente em locais diferentes e precisamos considerar o fuso horário e a diferença entre fusos horários para concluirmos se os momentos são simultâneos, ou não.