Compartir a través de


DateTimeFormatter.WithResolverFields Método

Definición

Sobrecargas

WithResolverFields(ITemporalField[])
WithResolverFields(ICollection<ITemporalField>)

Devuelve una copia de este formateador con un nuevo conjunto de campos de resolución.

WithResolverFields(ITemporalField[])

[Android.Runtime.Register("withResolverFields", "([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithResolverFields (params Java.Time.Temporal.ITemporalField[]? resolverFields);
[<Android.Runtime.Register("withResolverFields", "([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithResolverFields : Java.Time.Temporal.ITemporalField[] -> Java.Time.Format.DateTimeFormatter

Parámetros

resolverFields
ITemporalField[]

Devoluciones

Atributos

Se aplica a

WithResolverFields(ICollection<ITemporalField>)

Devuelve una copia de este formateador con un nuevo conjunto de campos de resolución.

[Android.Runtime.Register("withResolverFields", "(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithResolverFields (System.Collections.Generic.ICollection<Java.Time.Temporal.ITemporalField>? resolverFields);
[<Android.Runtime.Register("withResolverFields", "(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithResolverFields : System.Collections.Generic.ICollection<Java.Time.Temporal.ITemporalField> -> Java.Time.Format.DateTimeFormatter

Parámetros

resolverFields
ICollection<ITemporalField>

nuevo conjunto de campos de resolución, NULL si no hay campos

Devoluciones

un formateador basado en este formateador con el estilo de resolución solicitado, no null

Atributos

Comentarios

Devuelve una copia de este formateador con un nuevo conjunto de campos de resolución.

Esto devuelve un formateador con un estado similar a este formateador, pero con los campos de resolución establecidos. De forma predeterminada, un formateador no tiene campos de resolución.

El cambio de los campos de resolución solo tiene un efecto durante el análisis. El análisis de una cadena de texto se produce en dos fases. La fase 1 es un análisis de texto básico según los campos agregados al generador. La fase 2 resuelve los pares de valores de campo analizados en objetos de fecha o hora. Los campos de resolución se usan para filtrar los pares de valor de campo entre la fase 1 y la 2.

Esto se puede usar para seleccionar entre dos o más formas de resolver una fecha o hora. Por ejemplo, si el formateador consta de año, mes, día de mes y día de año, hay dos maneras de resolver una fecha. Al llamar a este método con los argumentos ChronoField#YEAR YEAR y ChronoField#DAY_OF_YEAR DAY_OF_YEAR se asegurará de que la fecha se resuelva con el año y el día del año, lo que significa que el mes y el día del mes se omiten durante la fase de resolución.

De forma similar, este método se puede usar para omitir los campos secundarios que, de lo contrario, se comprobarían cruzadamente. Por ejemplo, si el formateador consta de año, mes, día de mes y día de la semana, solo hay una manera de resolver una fecha, pero el valor analizado del día de la semana se comprobará con la fecha resuelta. Al llamar a este método con los argumentos ChronoField#YEAR YEAR, ChronoField#MONTH_OF_YEAR MONTH_OF_YEAR y ChronoField#DAY_OF_MONTH DAY_OF_MONTH se asegurará de que la fecha se resuelva correctamente, pero sin ninguna comprobación cruzada para el día de la semana.

En términos de implementación, este método se comporta de la manera siguiente. El resultado de la fase de análisis se puede considerar como un mapa del campo al valor. El comportamiento de este método es hacer que el mapa se filtre entre la fase 1 y la 2, quitando todos los campos distintos de los especificados como argumentos para este método.

Esta instancia es inmutable y no se ve afectada por esta llamada de método.

Documentación de Java para java.time.format.DateTimeFormatter.withResolverFields(java.util.Set<java.time.temporal.TemporalField>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a