Instant Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 long
ist. 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 |
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. |