Freigeben über


ITemporal Schnittstelle

Definition

Schnittstelle auf Frameworkebene, die den Lese-/Schreibzugriff auf ein zeitliches Objekt definiert, z. B. ein Datum, eine Uhrzeit, einen Offset oder eine Kombination dieser Objekte.

[Android.Runtime.Register("java/time/temporal/Temporal", "", "Java.Time.Temporal.ITemporalInvoker", ApiSince=26)]
public interface ITemporal : IDisposable, Java.Interop.IJavaPeerable, Java.Time.Temporal.ITemporalAccessor
[<Android.Runtime.Register("java/time/temporal/Temporal", "", "Java.Time.Temporal.ITemporalInvoker", ApiSince=26)>]
type ITemporal = interface
    interface ITemporalAccessor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Abgeleitet
Attribute
Implementiert

Hinweise

Schnittstelle auf Frameworkebene, die den Lese-/Schreibzugriff auf ein zeitliches Objekt definiert, z. B. ein Datum, eine Uhrzeit, einen Offset oder eine Kombination dieser Objekte.

Dies ist der Basisschnittstellentyp für Datums-, Uhrzeit- und Offsetobjekte, die vollständig genug sind, um mit Plus- und Minuszeichen bearbeitet zu werden. Sie wird von diesen Klassen implementiert, die Informationen als TemporalField-Felder oder TemporalQuery-Abfragen bereitstellen und bearbeiten können. Lesen Sie TemporalAccessor die schreibgeschützte Version dieser Schnittstelle.

Die meisten Datums- und Uhrzeitinformationen können als Zahl dargestellt werden. Diese werden mit TemporalField der Zahl modelliert, die verwendet long wird, um große Werte zu verarbeiten. Jahr, Monat und Tag-für-Monat sind einfache Beispiele für Felder, aber sie enthalten auch Sofort- und Offsets. Siehe ChronoField den Standardsatz von Feldern.

Zwei Teile von Datums-/Uhrzeitinformationen können nicht durch Zahlen dargestellt werden, die java.time.chrono.Chronology-Chronologie und die Zeitzone java.time.ZoneId. Auf diese können Sie über #query(TemporalQuery) queries die statischen Methoden zugreifen, die für TemporalQuery.

Diese Schnittstelle ist eine Schnittstelle auf Frameworkebene, die nicht weit verbreitet im Anwendungscode verwendet werden sollte. Stattdessen sollten Anwendungen Instanzen konkreter Typen erstellen und übergeben, z LocalDate. B. . Dafür gibt es viele Gründe, von denen ein Teil davon ist, dass Implementierungen dieser Schnittstelle in anderen Kalendersystemen als ISO enthalten sein können. Eine umfassendere Erläuterung der Probleme finden Sie java.time.chrono.ChronoLocalDate unter .

<h2>Wann implementieren</h2>

Eine Klasse sollte diese Schnittstelle implementieren, wenn sie drei Kriterien erfüllt: <ul<>li>bietet Zugriff auf Datums-/Uhrzeit-/Offsetinformationen, da<TemporalAccessor> die Gruppe der Felder von der größten bis zur kleinsten <Position>zusammenhängend ist, sodass kein anderes Feld erforderlich ist, um den gültigen Wertebereich für die Felder zu definieren, die /ul dargestellt <werden.>

Vier Beispiele machen dies deutlich: <Ul><li>LocalDate implementiert diese Schnittstelle, da sie eine Reihe von Feldern darstellt, die von Tagen bis für immer zusammenhängend sind und keine externen Informationen benötigen, um die Gültigkeit jedes Datums zu bestimmen. Daher ist es in der Lage, Plus/Minus richtig zu implementieren. <li>LocalTime implementiert diese Schnittstelle, da sie eine Reihe von Feldern darstellt, die von Nanos bis innerhalb von Tagen zusammenhängend sind und keine externen Informationen zur Bestimmung der Gültigkeit erfordern. Sie ist in der Lage, Plus/Minus richtig zu implementieren, indem sie um den Tag herum umschließen. <li>MonthDay, die Kombination aus Monat und Tag des Monats, implementiert diese Schnittstelle nicht. Während die Kombination zusammenhängend ist, verfügt die Kombination von Tagen bis zu Monaten innerhalb von Jahren nicht über ausreichende Informationen, um den gültigen Wertebereich für den Tag des Monats zu definieren. Daher ist es nicht in der Lage, Plus/Minus richtig zu implementieren. <li>Die Kombination aus Wochentag und Monat ("Freitag der 13.") sollte diese Schnittstelle nicht implementieren. Es stellt keinen zusammenhängenden Satz von Feldern dar, da Tage bis Wochen Tage mit Monaten überlappen. </ul>

Hinzugefügt in 1.8.

Java-Dokumentation für java.time.temporal.Temporal.

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.

Eigenschaften

Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java-Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
Get(ITemporalField)

Ruft den Wert des angegebenen Felds als ein int.

(Geerbt von ITemporalAccessor)
GetLong(ITemporalField)

Ruft den Wert des angegebenen Felds als ein long.

(Geerbt von ITemporalAccessor)
IsSupported(ITemporalField)

Überprüft, ob das angegebene Feld unterstützt wird.

(Geerbt von ITemporalAccessor)
IsSupported(ITemporalUnit)

Überprüft, ob die angegebene Einheit unterstützt wird.

Minus(Int64, ITemporalUnit)

Gibt ein Objekt desselben Typs wie dieses Objekt zurück, wobei der angegebene Punkt subtrahiert ist.

Minus(ITemporalAmount)

Gibt ein Objekt desselben Typs wie dieses Objekt zurück, wobei ein Betrag subtrahiert ist.

Plus(Int64, ITemporalUnit)

Gibt ein Objekt desselben Typs wie dieses Objekt zurück, wobei der angegebene Punkt hinzugefügt wurde.

Plus(ITemporalAmount)

Gibt ein Objekt desselben Typs wie dieses Objekt mit einem hinzugefügten Betrag zurück.

Query(ITemporalQuery)

Fragt diese Datums-Uhrzeit ab.

(Geerbt von ITemporalAccessor)
Range(ITemporalField)

Ruft den Bereich der gültigen Werte für das angegebene Feld ab.

(Geerbt von ITemporalAccessor)
SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Schnittstelle auf Frameworkebene, die den Lese-/Schreibzugriff auf ein zeitliches Objekt definiert, z. B. ein Datum, eine Uhrzeit, einen Offset oder eine Kombination dieser Objekte.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)
Until(ITemporal, ITemporalUnit)

Berechnet die Zeitspanne bis zu einem anderen zeitlichen Wert in Bezug auf die angegebene Einheit.

With(ITemporalAdjuster)

Gibt ein angepasstes Objekt vom gleichen Typ wie dieses Objekt mit der vorgenommenen Anpassung zurück.

With(ITemporalField, Int64)

Gibt ein Objekt desselben Typs wie dieses Objekt zurück, wobei das angegebene Feld geändert wurde.

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Schnittstelle auf Frameworkebene, die den Lese-/Schreibzugriff auf ein zeitliches Objekt definiert, z. B. ein Datum, eine Uhrzeit, einen Offset oder eine Kombination dieser Objekte.

GetJniTypeName(IJavaPeerable)

Schnittstelle auf Frameworkebene, die den Lese-/Schreibzugriff auf ein zeitliches Objekt definiert, z. B. ein Datum, eine Uhrzeit, einen Offset oder eine Kombination dieser Objekte.

Gilt für: