ZoneRules.GetValidOffsets(LocalDateTime) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene los desplazamientos aplicables en la fecha y hora local especificadas en estas reglas.
[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
Fecha y hora local en la que se va a consultar los desplazamientos válidos. Las reglas de desplazamiento fijo pueden omitir null; las reglas de variables no.
Devoluciones
Una lista potencialmente inmutable de desplazamientos válidos. La lista tiene cero entradas para un hueco, una para una fecha y hora local normal y dos para una superposición; en una superposición, el desplazamiento anterior es primero.
- Atributos
Excepciones
Se produce si localDateTime es null y las reglas no son de desplazamiento fijo.
Comentarios
Obtiene el desplazamiento aplicable en la fecha y hora local especificada en estas reglas. La asignación de una fecha y hora local a un desplazamiento no es sencilla. Hay tres casos: Normal, con un desplazamiento válido. Para la gran mayoría del año, se aplica el caso normal, donde hay un único desplazamiento válido para la fecha y hora local; Gap, con cero desplazamientos válidos. Esto es cuando los relojes saltan hacia delante normalmente debido al horario de verano de primavera cambian de "invierno" a "verano". En una brecha hay valores de fecha y hora locales sin desplazamiento válido; Superponer, con dos desplazamientos válidos. Esto es cuando los relojes se vuelven a establecer normalmente debido al horario de verano de otoño cambian de "verano" a "invierno". En una superposición hay valores de fecha y hora locales con dos desplazamientos válidos. Por lo tanto, para cualquier fecha y hora local determinada puede haber cero, uno o dos desplazamientos válidos. Este método devuelve esa lista de desplazamientos válidos, que es una lista de tamaño 0, 1 o 2. En el caso de que haya dos desplazamientos, el desplazamiento anterior se devuelve en el índice 0 y el desplazamiento posterior en el índice 1. Hay varias maneras de controlar la conversión desde 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 teoría, es posible que haya más de dos desplazamientos válidos. Esto ocurriría si los relojes se devolveran más de una vez en sucesión rápida. Esto nunca ha ocurrido en la historia de las zonas horarias y, por tanto, no tiene un control especial. Sin embargo, si fuera necesario, la lista devolvería más de 2 entradas.
referencia Java referencia para java.time.zone.ZoneRules.getValidOffsets.