ZoneRules.GetValidOffsets(LocalDateTime) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.