Instant Klasse

Definition

Ein sofortiger Punkt auf der Zeitlinie.

[Android.Runtime.Register("java/time/Instant", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class Instant : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.IComparable, Java.Time.Temporal.ITemporal, Java.Time.Temporal.ITemporalAdjuster
[<Android.Runtime.Register("java/time/Instant", ApiSince=26, DoNotGenerateAcw=true)>]
type Instant = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IComparable
    interface ITemporal
    interface ITemporalAccessor
    interface ITemporalAdjuster
Vererbung
Instant
Attribute
Implementiert

Hinweise

Ein sofortiger Punkt auf der Zeitlinie.

Diese Klasse modelliert einen einzelnen augenblicklichen Punkt auf der Zeitlinie. Dies kann verwendet werden, um Ereigniszeitstempel in der Anwendung aufzuzeichnen.

Der Bereich eines Augenblicks erfordert den Speicher einer Zahl, die größer als ein longist. Um dies zu erreichen, speichert die Klasse eine long epoch-sekunden darstellende und eine int darstellende Nanosekunde der Sekunde, die immer zwischen 0 und 999.999.999.999 beträgt. Die Epochensekunden werden aus der Java-Standardepoche 1970-01-01T00:00:00Z von gemessen, in der Die Augenblicke nach der Epoche positive Werte und frühere Instants negative Werte aufweisen. Sowohl für den Epochensekunden- als auch für den Nanosekundenteil ist ein größerer Wert immer später auf der Zeitlinie als ein kleinerer Wert.

<h2>Zeitskala</h2>

Die Länge des Sonnentages ist die Standardmethode, wie Menschen die Zeit messen. Dies wurde traditionell in 24 Stunden von 60 Minuten von 60 Sekunden unterteilt, die einen Tag von 86400 Sekunden bilden.

Die moderne Zeiterfassung basiert auf Atomuhren, die genau eine SI-Sekunde relativ zu den Übergängen eines Caesium-Atoms definieren. Die Länge einer SI-Sekunde wurde definiert, um sehr nahe an der 86400. Fraktion eines Tages zu liegen.

Leider variiert die Länge des Tages, da sich die Erde dreht. Darüber hinaus wird die durchschnittliche Länge des Tages im Laufe der Zeit länger, wenn die Erde langsamer wird. Infolgedessen ist die Länge eines Sonnentages im Jahr 2012 etwas länger als 86400 SI-Sekunden. Die tatsächliche Länge eines bestimmten Tages und die Menge, um die sich die Erde verlangsamt, sind nicht vorhersagbar und können nur durch Messungen bestimmt werden. Die UT1-Zeitskala erfasst die genaue Tageslänge, ist aber erst einige Zeit nach Abschluss des Tages verfügbar.

Die UTC-Zeitskala ist ein Standardansatz, um alle zusätzlichen Sekundenbruchteile von UT1 in ganze Sekunden zu bündeln, die als Sprungsekunden bezeichnet werden. Abhängig von den Rotationsänderungen der Erde kann eine Schalt sekunde hinzugefügt oder entfernt werden. Daher erlaubt UTC, dass ein Tag 86399 SI-Sekunden oder 86401 SI-Sekunden hat, wenn erforderlich, um den Tag an der Sonne auszurichten.

Die moderne UTC-Zeitskala wurde 1972 eingeführt und führte das Konzept der ganzen Schaltsekunden ein. Zwischen 1958 und 1972 war die Definition von UTC komplex, mit geringfügigen Unter-Sekunden-Sprüngen und Änderungen an der Länge der fiktiven Sekunde. Seit 2012 wird darüber diskutiert, die Definition von UTC erneut zu ändern, mit dem Potenzial, Schaltsekunden zu entfernen oder andere Änderungen einzuführen.

Aufgrund der oben beschriebenen Komplexität der genauen Zeiterfassung definiert diese Java-API ihre eigene Zeitskala, die Java-Zeitskala.

Die Java-Time-Scale unterteilt jeden Kalendertag in genau 86400 Unterteilungen, die als Sekunden bezeichnet werden. Diese Sekunden können sich von der SI-Sekunde unterscheiden. Sie entspricht eng der de facto internationalen zivilen Zeitskala, deren Definition sich von Zeit zu Zeit ändert.

Die Java-Time-Scale verfügt über geringfügig unterschiedliche Definitionen für verschiedene Segmente der Zeitlinie, die jeweils auf der internationalen Konsenszeitskala basieren, die als Grundlage für die zivile Zeit verwendet wird. Wenn die international vereinbarte Zeitskala geändert oder ersetzt wird, muss ein neues Segment der Java-Time-Scale dafür definiert werden. Jedes Segment muss diese Anforderungen erfüllen: <ul><li>das Java-Time-Scale muss eng mit der zugrunde liegenden internationalen zivilrechtlichen Zeitskala übereinstimmen;</li><li>der Java-Time-Scale muss genau der internationalen zivilen Zeitskala jeden Tag mittags entsprechen;</li><li>die Java-Time-Scale soll eine genau definierte Beziehung zur internationalen zivilen Zeitskala haben.</li></ul> Es gibt derzeit, ab 2013, zwei Segmente in der Java-Zeitskala.

Für das Segment von 1972-11-03 (genaue Grenze wird unten erläutert) bis auf Weiteres ist die internationale Konsenszeitskala UTC (mit Schaltsekunden). In diesem Segment ist die Java-Time-Scale mit UTC-SLS identisch. Dies ist identisch mit UTC an Tagen, an denen keine Schalt sekunde vorhanden ist. An Tagen, die eine Schaltsekunde haben, verteilt sich die Schaltsekunde gleichmäßig auf die letzten 1000 Sekunden des Tages, wobei das Aussehen von genau 86400 Sekunden pro Tag beibehalten wird.

Für das Segment vor 1972-11-03 wird die konsensfähige internationale Zeitskala als UT1 definiert, proleptisch angewendet, was der (mittleren) Sonnenzeit auf dem Nullmeridian (Greenwich) entspricht. In diesem Segment ist die Java-Time-Scale mit der internationalen Konsenszeitskala identisch. Die genaue Grenze zwischen den beiden Segmenten ist der Moment, an dem UT1 = UTC zwischen 1972-11-03T00:00 und 1972-11-04T12:00 liegt.

Implementierungen der Java-Zeitskala mit der JSR-310-API sind nicht erforderlich, um eine Uhr bereitzustellen, die unter einer Sekunde genau ist oder monoton oder reibungslos verläuft. Implementierungen sind daher nicht erforderlich, um den UTC-SLS-Slew tatsächlich auszuführen oder auf andere Weise Schaltsekunden zu beachten. JSR-310 erfordert jedoch, dass Implementierungen den Ansatz dokumentieren müssen, den sie beim Definieren einer Uhr verwenden, die den aktuellen Moment darstellt. Weitere Informationen zu den verfügbaren Uhren finden Sie Clock unter.

Die Java-Zeitskala wird für alle Datum-Uhrzeit-Klassen verwendet. Dazu gehören Instant, LocalDate, LocalTime, OffsetDateTime, ZonedDateTime und Duration.

In Version 1.8 hinzugefügt.

Java-Dokumentation für java.time.Instant.

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.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Epoch

Ein sofortiger Punkt auf der Zeitlinie.

EpochSecond

Ruft die Anzahl der Sekunden aus der Java-Epoche 1970-01-01T00:00:00Z ab.

Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
JniIdentityHashCode

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
JniPeerMembers

Ein sofortiger Punkt auf der Zeitlinie.

Max

Ein sofortiger Punkt auf der Zeitlinie.

Min

Ein sofortiger Punkt auf der Zeitlinie.

Nano

Ruft die Anzahl der Nanosekunden ab, die später entlang der Zeitlinie ab dem Beginn der Sekunde ausgeführt werden.

PeerReference

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

AdjustInto(ITemporal)

Ein sofortiger Punkt auf der Zeitlinie.

AtOffset(ZoneOffset)

Ein sofortiger Punkt auf der Zeitlinie.

AtZone(ZoneId)

Ein sofortiger Punkt auf der Zeitlinie.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
CompareTo(Instant)

Ein sofortiger Punkt auf der Zeitlinie.

Dispose()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
Dispose(Boolean)

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

(Geerbt von Object)
From(ITemporalAccessor)

Ein sofortiger Punkt auf der Zeitlinie.

Get(ITemporalField)

Ein sofortiger Punkt auf der Zeitlinie.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetLong(ITemporalField)

Ein sofortiger Punkt auf der Zeitlinie.

IsAfter(Instant)

Ein sofortiger Punkt auf der Zeitlinie.

IsBefore(Instant)

Ein sofortiger Punkt auf der Zeitlinie.

IsSupported(ITemporalField)

Ein sofortiger Punkt auf der Zeitlinie.

IsSupported(ITemporalUnit)

Ein sofortiger Punkt auf der Zeitlinie.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Minus(Int64, ITemporalUnit)

Ein sofortiger Punkt auf der Zeitlinie.

Minus(ITemporalAmount)

Ein sofortiger Punkt auf der Zeitlinie.

MinusMillis(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

MinusNanos(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

MinusSeconds(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Now()

Ein sofortiger Punkt auf der Zeitlinie.

Now(Clock)

Ein sofortiger Punkt auf der Zeitlinie.

OfEpochMilli(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

OfEpochSecond(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

OfEpochSecond(Int64, Int64)

Ein sofortiger Punkt auf der Zeitlinie.

Parse(ICharSequence)

Ein sofortiger Punkt auf der Zeitlinie.

Parse(String)

Ein sofortiger Punkt auf der Zeitlinie.

Plus(Int64, ITemporalUnit)

Ein sofortiger Punkt auf der Zeitlinie.

Plus(ITemporalAmount)

Ein sofortiger Punkt auf der Zeitlinie.

PlusMillis(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

PlusNanos(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

PlusSeconds(Int64)

Ein sofortiger Punkt auf der Zeitlinie.

Query(ITemporalQuery)

Ein sofortiger Punkt auf der Zeitlinie.

Range(ITemporalField)

Ein sofortiger Punkt auf der Zeitlinie.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
ToArray<T>()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
ToEpochMilli()

Konvertiert diesen Moment in die Anzahl von Millisekunden aus der Epoche 1970-01-01T00:00:00:00Z.

ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
TruncatedTo(ITemporalUnit)

Ein sofortiger Punkt auf der Zeitlinie.

UnregisterFromRuntime()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
Until(ITemporal, ITemporalUnit)

Ein sofortiger Punkt auf der Zeitlinie.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
With(ITemporalAdjuster)

Ein sofortiger Punkt auf der Zeitlinie.

With(ITemporalField, Int64)

Ein sofortiger Punkt auf der Zeitlinie.

Explizite Schnittstellenimplementierungen

IComparable.CompareTo(Object)

Ein sofortiger Punkt auf der Zeitlinie.

IJavaPeerable.Disposed()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.Finalized()

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein sofortiger Punkt auf der Zeitlinie.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein sofortiger Punkt auf der Zeitlinie.

GetJniTypeName(IJavaPeerable)

Ein sofortiger Punkt auf der Zeitlinie.

Gilt für: