DateTimeFormatter.WithResolverFields Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
WithResolverFields(ITemporalField[]) | |
WithResolverFields(ICollection<ITemporalField>) |
Возвращает копию этого модуля форматирования с новым набором полей сопоставителя. |
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
Параметры
- resolverFields
- ITemporalField[]
Возвращаемое значение
- Атрибуты
Применяется к
WithResolverFields(ICollection<ITemporalField>)
Возвращает копию этого модуля форматирования с новым набором полей сопоставителя.
[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
Параметры
- resolverFields
- ICollection<ITemporalField>
новый набор полей сопоставителя, null, если поля отсутствуют
Возвращаемое значение
Формататор на основе этого модуля форматирования с запрошенным стилем сопоставителя, а не null
- Атрибуты
Комментарии
Возвращает копию этого модуля форматирования с новым набором полей сопоставителя.
Это возвращает формататор с аналогичным состоянием этого модуля форматирования, но с набором полей сопоставителя. По умолчанию у модуля форматирования нет полей сопоставителя.
Изменение полей сопоставителя действует только во время синтаксического анализа. Анализ текстовой строки выполняется на двух этапах. Этап 1 — это базовый анализ текста в соответствии с полями, добавленными в построитель. Этап 2 разрешает пары синтаксического значения поля в объекты даты и времени или времени. Поля сопоставителя используются для фильтрации пар "значение поля" между этапом 1 и 2.
Это можно использовать для выбора двух или более способов разрешения даты или времени. Например, если форматировщик состоит из года, месяца, дня месяца и дня года, то существует два способа разрешения даты. Вызов этого метода с аргументами ChronoField#YEAR YEAR
и ChronoField#DAY_OF_YEAR DAY_OF_YEAR
обеспечит разрешение даты с помощью года и дня года, что означает, что месяц и день месяца игнорируются на этапе разрешения.
Аналогичным образом этот метод можно использовать для пропуска дополнительных полей, которые в противном случае будут перекрестно проверены. Например, если форматировщик состоит из года, месяца, дня месяца и дня недели, то существует только один способ разрешения даты, но проанализированное значение для дня недели будет перекрестно проверяться на разрешенную дату. Вызов этого метода с аргументами ChronoField#YEAR YEAR
ChronoField#MONTH_OF_YEAR MONTH_OF_YEAR
и ChronoField#DAY_OF_MONTH DAY_OF_MONTH
гарантирует правильность разрешения даты, но без перекрестной проверки на день недели.
В терминах реализации этот метод ведет себя следующим образом. Результат этапа синтаксического анализа можно считать картой поля со значением. Поведение этого метода заключается в том, что сопоставление фильтруется между этапом 1 и 2, удаляя все поля, отличные от указанных в качестве аргументов для этого метода.
Этот экземпляр неизменяем и не влияет на этот вызов метода.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.