Langue

ZoneRules.GetValidOffsets(LocalDateTime) Méthode

Définition

Obtient les décalages applicables à l’heure de date locale spécifiée dans ces règles.

[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>

Paramètres

localDateTime
LocalDateTime

Heure de date locale à interroger pour les décalages valides. Les règles de décalage fixe peuvent ignorer null; les règles de variable ne le font pas.

Retours

Liste potentiellement immuable de décalages valides. La liste comporte zéro entrée pour un écart, une pour une date-heure locale normale et deux pour un chevauchement ; dans un chevauchement, le décalage précédent est d’abord.

Attributs

Exceptions

Levée si localDateTime c’est null le cas et que les règles ne sont pas un décalage fixe.

Remarques

Obtient le décalage applicable au moment de la date locale spécifiée dans ces règles. Le mappage d’une date locale à un décalage n’est pas simple. Il existe trois cas : Normal, avec un décalage valide. Pour la grande majorité de l’année, le cas normal s’applique, où il existe un décalage valide unique pour la date-heure locale ; Écart, avec zéro décalage valide. C’est là que les horloges avancent généralement en raison des économies d’été du printemps qui passent de « l’hiver » à « l’été ». Dans un écart, il existe des valeurs de date/heure locales sans décalage valide ; Chevauchement, avec deux décalages valides. C’est là que les horloges sont mises en arrière généralement en raison du changement d’été de l’été à l’hiver. Dans un chevauchement, il existe des valeurs de date/heure locales avec deux décalages valides. Par conséquent, pour une date/heure locale donnée, il peut y avoir zéro, un ou deux décalages valides. Cette méthode retourne cette liste de décalages valides, qui est une liste de taille 0, 1 ou 2. Dans le cas où il y a deux décalages, le décalage précédent est retourné à l’index 0 et le décalage ultérieur à l’index 1. Il existe différentes façons de gérer la conversion à partir d’un 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);
}

En théorie, il est possible qu’il y ait plus de deux décalages valides. Cela se produit si les horloges doivent être remises plus d’une fois en succession rapide. Cela n’a jamais eu lieu dans l’histoire des fuseaux horaires et n’a donc aucune gestion spéciale. Toutefois, si elle devait se produire, la liste retournerait plus de 2 entrées.

Java référence pour java.time.zone.ZoneRules.getValidOffsets.

S’applique à