Freigeben über


DateTimeFormatter.WithResolverFields Methode

Definition

Überlädt

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

Gibt eine Kopie dieses Formatierers mit einer neuen Gruppe von Auflösungsfeldern zurück.

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

Parameter

resolverFields
ITemporalField[]

Gibt zurück

Attribute

Gilt für:

WithResolverFields(ICollection<ITemporalField>)

Gibt eine Kopie dieses Formatierers mit einer neuen Gruppe von Auflösungsfeldern zurück.

[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

Parameter

resolverFields
ICollection<ITemporalField>

der neue Satz von Resolver-Feldern null, wenn keine Felder vorhanden sind

Gibt zurück

ein Formatierer, der auf diesem Formatierer mit dem angeforderten Auflösungsformat basiert, nicht null

Attribute

Hinweise

Gibt eine Kopie dieses Formatierers mit einer neuen Gruppe von Auflösungsfeldern zurück.

Dadurch wird ein Formatierer mit einem ähnlichen Zustand wie dieser Formatierer zurückgegeben, jedoch mit den festgelegten Resolver-Feldern. Standardmäßig weist ein Formatierer keine Resolverfelder auf.

Das Ändern der Resolverfelder wirkt sich nur während der Analyse aus. Das Analysieren einer Textzeichenfolge erfolgt in zwei Phasen. Phase 1 ist eine grundlegende Textanalyse gemäß den Feldern, die dem Generator hinzugefügt wurden. Phase 2 löst die analysierten Feldwertpaare in Datums- und/oder Uhrzeitobjekte auf. Die Resolverfelder werden verwendet, um die Feldwertpaare zwischen Phase 1 und 2 zu filtern.

Dies kann verwendet werden, um zwischen zwei oder mehr Möglichkeiten auszuwählen, wie ein Datum oder eine Uhrzeit aufgelöst werden kann. Wenn der Formatierer beispielsweise aus Jahr, Monat, Tag-für-Monat und Tag-des-Jahres besteht, gibt es zwei Möglichkeiten, ein Datum aufzulösen. Das Aufrufen dieser Methode mit den Argumenten ChronoField#YEAR YEAR und ChronoField#DAY_OF_YEAR DAY_OF_YEAR stellt sicher, dass das Datum mithilfe des Jahres und des Jahres aufgelöst wird, was bedeutet, dass der Monat und der Tag des Monats während der Auflösungsphase ignoriert werden.

Auf ähnliche Weise kann diese Methode verwendet werden, um sekundäre Felder zu ignorieren, die andernfalls kreuzgecheckt wären. Wenn der Formatierer beispielsweise aus Jahr, Monat, Tag-für-Monat und Wochentag besteht, gibt es nur eine Möglichkeit, ein Datum aufzulösen, aber der analysierte Wert für den Wochentag wird mit dem aufgelösten Datum kreuzgecheckt. Wenn Sie diese Methode mit den Argumenten ChronoField#YEAR YEARChronoField#MONTH_OF_YEAR MONTH_OF_YEAR aufrufen, und ChronoField#DAY_OF_MONTH DAY_OF_MONTH stellen Sie sicher, dass das Datum korrekt aufgelöst wird, ohne dass jedoch eine Kreuzüberprüfung für den Wochentag erforderlich ist.

In Implementierungsbegriffen verhält sich diese Methode wie folgt. Das Ergebnis der Analysephase kann als Zuordnung von Feld zu Wert betrachtet werden. Das Verhalten dieser Methode besteht darin, dass die Zuordnung zwischen Phase 1 und 2 gefiltert wird, wobei alle Felder entfernt werden, die nicht als Argumente für diese Methode angegeben sind.

Diese Instanz ist unveränderlich und von diesem Methodenaufruf nicht betroffen.

Java-Dokumentation für java.time.format.DateTimeFormatter.withResolverFields(java.util.Set<java.time.temporal.TemporalField>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: