ZoneRules.GetValidOffsets(LocalDateTime) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene gli offset applicabili all'ora locale specificata in queste regole.
[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>
Parametri
- localDateTime
- LocalDateTime
Data e ora locale su cui eseguire una query per gli offset validi. Le regole di offset fisso possono ignorare ; le regole delle variabili non vengono ignorate null.
Valori restituiti
Elenco potenzialmente non modificabile di offset validi. L'elenco ha zero voci per un gap, uno per una data e ora locale normale e due per una sovrapposizione; in una sovrapposizione, l'offset precedente è prima.
- Attributi
Eccezioni
Generata se localDateTime è null e le regole non sono offset fisso.
Commenti
Ottiene l'offset applicabile all'ora locale specificata in queste regole. Il mapping da una data e ora locale a un offset non è semplice. Esistono tre casi: Normale, con un offset valido. Per la maggior parte dell'anno, si applica il caso normale, in cui è presente un unico offset valido per la data e l'ora locale; Gap, con zero offset validi. Questo è quando gli orologi saltano in avanti in genere a causa del cambio di ora legale primavera da "inverno" a "estate". In un gap sono presenti valori di data e ora locali senza offset valido; Sovrapposizione, con due offset validi. Questo è quando gli orologi sono tornati in genere a causa del cambio di ora legale autunno da "estate" a "inverno". In una sovrapposizione sono presenti valori di data e ora locali con due offset validi. Pertanto, per qualsiasi data e ora locale può essere presente zero, uno o due offset validi. Questo metodo restituisce l'elenco di offset validi, ovvero un elenco di dimensioni pari a 0, 1 o 2. Nel caso in cui siano presenti due offset, l'offset precedente viene restituito in corrispondenza dell'indice 0 e l'offset successivo in corrispondenza dell'indice 1. Esistono diversi modi per gestire la conversione da 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);
}
In teoria, è possibile che ci siano più di due offset validi. Questo accadrebbe se gli orologi vengano rimesso più di una volta in rapida successione. Questo non è mai accaduto nella storia dei fusi orari e quindi non ha una gestione speciale. Tuttavia, se dovesse accadere, l'elenco restituirà più di 2 voci.
Java informazioni di riferimento per java.time.zone.ZoneRules.getValidOffsets.