Freigeben über


DateTimeFormatter.WithZone(ZoneId) Methode

Definition

Gibt eine Kopie dieses Formatierungsprogramms mit einer neuen Überschreibungszone zurück.

[Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithZone (Java.Time.ZoneId? zone);
[<Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithZone : Java.Time.ZoneId -> Java.Time.Format.DateTimeFormatter

Parameter

zone
ZoneId

die neue Überschreibungszone, NULL, wenn keine Überschreibung erfolgt

Gibt zurück

ein Formatierer basierend auf diesem Formatierer mit der angeforderten Überschreibungszone, nicht NULL

Attribute

Hinweise

Gibt eine Kopie dieses Formatierungsprogramms mit einer neuen Überschreibungszone zurück.

Dadurch wird ein Formatierer zurückgegeben, der ähnlich ist wie dieser Formatierer, aber mit festgelegter Überschreibungszone. Standardmäßig verfügt ein Formatierer über keine Überschreibungszone und gibt NULL zurück.

Wenn eine Überschreibung hinzugefügt wird, ist jeder Moment betroffen, der formatiert oder analysiert wird.

Wenn das temporale Objekt beim Formatieren einen Moment enthält, wird es mithilfe der Überschreibungszone in eine zonenbasierte Datums-Uhrzeit konvertiert. Ob es sich bei dem Temporalen um einen Moment handelt, wird durch Abfragen des ChronoField#INSTANT_SECONDS INSTANT_SECONDS Felds bestimmt. Wenn die Eingabe über eine Chronologie verfügt, wird sie beibehalten, sofern sie nicht überschrieben wird. Wenn die Eingabe keine Chronologie aufweist, z Instant. B. , wird die ISO-Chronologie verwendet.

Wenn das temporale Objekt keinen Sofortigen, sondern einen Offset enthält, wird eine zusätzliche Überprüfung durchgeführt. Wenn die normalisierte Überschreibungszone ein Offset ist, der sich vom Offset des Temporals unterscheidet, wird ein DateTimeException ausgelöst. In allen anderen Fällen wird die Überschreibungszone zum temporalen Hinzugefügt, wobei jede vorherige Zone ersetzt wird, ohne dass das Datum/die Uhrzeit geändert wird.

Beim Analysieren sind zwei unterschiedliche Fälle zu berücksichtigen. Wenn eine Zone direkt aus dem Text analysiert wurde, vielleicht weil DateTimeFormatterBuilder#appendZoneId() sie verwendet wurde, hat diese Überschreibungszone keine Auswirkung. Wenn keine Zone analysiert wurde, wird diese Überschreibungszone in das Ergebnis der Analyse einbezogen, wo sie zum Erstellen von Instants und Datumsangaben verwendet werden kann.

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

Java-Dokumentation für java.time.format.DateTimeFormatter.withZone(java.time.ZoneId).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: