Idioma

ZoneRules.GetValidOffsets(LocalDateTime) Método

Definição

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.

Aplica-se a