ZoneRules.GetValidOffsets(LocalDateTime) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém os deslocamentos aplicáveis na data e hora local especificadas nessas regras.
[Android.Runtime.Register("getValidOffsets", "(Ljava/time/LocalDateTime;)Ljava/util/List;", "", ApiSince=26)]
public System.Collections.Generic.IList<Java.Time.ZoneOffset>? GetValidOffsets(Java.Time.LocalDateTime? localDateTime);
[<Android.Runtime.Register("getValidOffsets", "(Ljava/time/LocalDateTime;)Ljava/util/List;", "", ApiSince=26)>]
member this.GetValidOffsets : Java.Time.LocalDateTime -> System.Collections.Generic.IList<Java.Time.ZoneOffset>
Parâmetros
- localDateTime
- LocalDateTime
A data e hora local para consultar deslocamentos válidos. As regras de deslocamento fixo podem ignorar null; as regras de variável não.
Retornos
Uma lista potencialmente imutável de deslocamentos válidos. A lista tem zero entradas para uma lacuna, uma para uma data-hora local normal e duas para uma sobreposição; em uma sobreposição, o deslocamento anterior é o primeiro.
- Atributos
Exceções
Geradas se localDateTime for null e as regras não forem corrigidas.
Comentários
Obtém o deslocamento aplicável na data/hora local especificada nessas regras. O mapeamento de uma data e hora local para um deslocamento não é simples. Há três casos: Normal, com um deslocamento válido. Para a grande maioria do ano, o caso normal se aplica, em que há um único deslocamento válido para a data e hora local; Lacuna, sem deslocamentos válidos. É quando os relógios avançam normalmente devido à mudança do horário de verão da primavera de "inverno" para "verão". Em uma lacuna, há valores locais de data e hora sem deslocamento válido; Sobreponha-se, com dois deslocamentos válidos. É quando os relógios são recuados normalmente devido à mudança do horário de verão de outono de "verão" para "inverno". Em uma sobreposição, há valores locais de data e hora com dois deslocamentos válidos. Portanto, para qualquer data local específica, pode haver zero, um ou dois deslocamentos válidos. Esse método retorna essa lista de deslocamentos válidos, que é uma lista de tamanho 0, 1 ou 2. No caso em que há dois deslocamentos, o deslocamento anterior é retornado no índice 0 e o deslocamento posterior no índice 1. Há várias maneiras de lidar com a conversão de um LocalDateTime.
List<ZoneOffset> validOffsets = rules.getValidOffsets(localDT);
if (validOffsets.size() == 1) {
// Normal case: only one valid offset
zoneOffset = validOffsets.get(0);
} else {
// Gap or Overlap: determine what to do from transition (which will be non-null)
ZoneOffsetTransition trans = rules.getTransition(localDT);
}
Em teoria, é possível que haja mais de dois deslocamentos válidos. Isso aconteceria se os relógios fossem colocados de volta mais de uma vez em sucessão rápida. Isso nunca aconteceu no histórico de fusos horários e, portanto, não tem tratamento especial. No entanto, se isso acontecesse, a lista retornaria mais de 2 entradas.
Java referência para java.time.zone.ZoneRules.getValidOffsets.