Sprache

ZoneRules.GetValidOffsets(LocalDateTime) Methode

Definition

Ruft die Offsets ab, die für die angegebene lokale Datum-Uhrzeit in diesen Regeln gelten.

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

Parameter

localDateTime
LocalDateTime

Die lokale Datum-Uhrzeit, die nach gültigen Offsets gesucht werden soll. Regeln mit festem Offset können ignoriert werden null; Variablenregeln sind nicht zulässig.

Gibt zurück

Eine potenziell unveränderliche Liste gültiger Offsets. Die Liste enthält null Einträge für eine Lücke, eine für eine normale lokale Datums-Uhrzeit und zwei für eine Überlappung; in einer Überlappung ist der frühere Offset zuerst.

Attribute

Ausnahmen

Wird ausgelöst, wenn localDateTime dies der Grund ist null und die Regeln nicht mit einem festen Offset versetzt werden.

Hinweise

Ruft den Offset ab, der auf die angegebene lokale Datum-Uhrzeit in diesen Regeln anwendbar ist. Die Zuordnung von einer lokalen Datums-/Uhrzeit zu einem Offset ist nicht einfach. Es gibt drei Fälle: Normal, mit einem gültigen Offset. Für die überwiegende Mehrheit des Jahres gilt der Normalfall, wenn ein einzelner gültiger Offset für die lokale Datum-Uhrzeit vorhanden ist; Lücke mit null gültigen Offsets. Dies ist der Fall, wenn Die Uhren in der Regel aufgrund der Sommerzeitspareffekte von "Winter" in "Sommer" nach vorne springen. In einer Lücke gibt es lokale Datums-/Uhrzeitwerte ohne gültigen Offset; Überlappen, mit zwei gültigen Offsets. Dies ist der Fall, wenn die Uhren in der Regel aufgrund der Sommerzeitersparnis von "Sommer" in "Winter" zurückgesetzt werden. In einer Überlappung gibt es lokale Datum-Uhrzeit-Werte mit zwei gültigen Offsets. Daher kann es für alle angegebenen lokalen Datums-Uhrzeit null, ein oder zwei gültige Offsets geben. Diese Methode gibt die Liste gültiger Offsets zurück, bei denen es sich um eine Liste der Größe 0, 1 oder 2 handelt. Wenn zwei Offsets vorhanden sind, wird der frühere Offset bei Index 0 und dem späteren Offset bei Index 1 zurückgegeben. Es gibt verschiedene Möglichkeiten, die Konvertierung von einer LocalDateTime zu behandeln.

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);
}

Theoretisch ist es möglich, dass mehr als zwei gültige Offsets vorhanden sind. Dies würde passieren, wenn die Uhren mehr als einmal nacheinander zurückgesetzt werden. Dies ist nie in der Geschichte der Zeitzonen geschehen und hat somit keinen besonderen Umgang. Wenn dies jedoch der Fall wäre, würde die Liste mehr als 2 Einträge zurückgeben.

Java Referenz für java.time.zone.ZoneRules.getValidOffsets.

Gilt für: