Share via


Instant 類別

定義

時間表的瞬間點。

[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
繼承
Instant
屬性
實作

備註

時間表的瞬間點。

此類別會在時間軸上建立單一即時點的模型。 這可用來記錄應用程式中的事件時間戳記。

立即的範圍需要大於 long 的數位儲存體。 為了達成此目的,類別會 long 儲存代表 epoch-seconds 的 ,以及 int 代表 nanosecond-of-of-second 的 ,其一律介於 0 到 999,999,999 之間。 Epoch-seconds 是從標準 JAVA epoch 1970-01-01T00:00:00Z 測量,其中 Epoch 之後的瞬間具有正值,而先前的實例有負值。 對於 epoch-second 和 nanosecond 部分,時間表上的值一律會比較小的值晚。

<h2 > Time-scale < /h2>

太陽能日的長度是人類測量時間的標準方式。 這傳統上已細分為 60 秒 60 分鐘的 24 小時,形成 86400 秒。

新式計時是以不可部分完成的時鐘為基礎,其精確地定義相對於 Caesium Atom 轉換的 SI 秒。 SI 秒的長度定義為非常接近一天的 86400 分之一小數。

可惜的是,隨著地球旋轉一天的長度而有所不同。 此外,隨著時間,當地球變慢時,一天的平均長度會變長。 因此,2012 年太陽能日的長度稍微超過 86400 SI 秒。 任何指定日期的實際長度,以及地球變慢量無法預測,而且只能透過測量來決定。 UT1 時間小數位數會擷取正確的日期長度,但只能在一天完成之後一段時間使用。

UTC 時間小數位數是一種標準方法,將 UT1 到整個秒的所有其他分陣列合在一起,稱為 閏秒。 視地球的旋轉變化而定,可能會新增或移除閏秒。 因此,UTC 允許一天有 86399 SI 秒或 86401 SI 秒,必要時才能讓日期與 Sun 保持一致。

新式 UTC 時間調整是在 1972 年引進,引進了整個閏秒的概念。 在 1958 年和 1972 年之間,UTC 的定義很複雜,次要的次秒躍點數和變更為指定秒的長度。 自 2012 年起,討論正在進行中,以再次變更 UTC 的定義,並可能會移除閏秒或引入其他變更。

基於上述精確計時的複雜度,此 JAVA API 會定義自己的時間調整, 也就是 JAVA 時階

JAVA Time-Scale 會將每個日曆日分成 86400 個細分,稱為秒數。 這些秒可能與 SI 秒不同。 它與事實國際公民時間範圍緊密相符,也就是從時間到時間變更的定義。

JAVA Time-Scale 針對時間表的不同區段有稍微不同的定義,每個定義都是根據作為公民時間基礎的共識國際時間規模。 每當修改或取代國際同意的時間範圍時,就必須為其定義 JAVA Time-Scale 的新區段。 每個區段都必須符合這些需求: < ul >< li > JAVA Time-Scale 應密切符合基礎國際公民時間範圍; </li >< li > JAVA Time-Scale 每天應該完全符合國際公民時間規模; </li >< li > JAVA Time-Scale 應該與國際公民時間範圍有精確定義的關聯性。 </li >< /ul > 目前在 2013 年,JAVA 時間刻度中有兩個區段。

對於 1972-11-03 的區段, (下面討論的確切界限) 直到進一步注意為止,共識國際時間範圍是 UTC (,而閏秒) 。 在此區段中,JAVA Time-Scale 與 UTC-SLS相同。 這與 UTC 在沒有閏秒的天數相同。 在有閏秒的天數中,閏秒會平均分散到當天的最後 1000 秒,並維持每天剛好 86400 秒的外觀。

對於 1972-11-03 之前的區段,會任意延伸回最遠的時間範圍,將共識國際時間範圍定義為 UT1,以專業方式套用,這相當於在質線 (Greenwich) 上的 (平均數) 太陽能時間。 在此區段中,JAVA Time-Scale 與共識國際時間範圍相同。 兩個區段之間的確切界限是 UT1 = UTC 的瞬間,介於 1972-11-03T00:00 和 1972-11-04T12:00 之間。

不需要使用 JSR-310 API 實作 JAVA 時間調整,即可提供次秒精確度的任何時鐘,或是以單純或順暢方式進行。 因此,實作不需要實際執行 UTC-SLS 旋轉,或注意閏秒。 不過,JSR-310 確實需要實作必須記載在定義代表目前瞬間的時鐘時所使用的方法。 如需可用時鐘的詳細資訊,請參閱 Clock

JAVA 時間小數位數會用於所有日期時間類別。 其中包括 InstantLocalDateLocalTimeOffsetDateTimeZonedDateTimeDuration

已在 1.8 中新增。

java.time.Instant JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Epoch

時間表的瞬間點。

EpochSecond

從 1970-01-01T00:00:00Z 的 JAVA epoch 取得秒數。

Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode

時間表的瞬間點。

(繼承來源 Object)
JniPeerMembers

時間表的瞬間點。

Max

時間表的瞬間點。

Min

時間表的瞬間點。

Nano

從第二個開始,取得沿著時間表之後的奈秒數。

PeerReference

時間表的瞬間點。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)
ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)

方法

AdjustInto(ITemporal)

時間表的瞬間點。

AtOffset(ZoneOffset)

時間表的瞬間點。

AtZone(ZoneId)

時間表的瞬間點。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
CompareTo(Instant)

時間表的瞬間點。

Dispose()

時間表的瞬間點。

(繼承來源 Object)
Dispose(Boolean)

時間表的瞬間點。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
From(ITemporalAccessor)

時間表的瞬間點。

Get(ITemporalField)

時間表的瞬間點。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetLong(ITemporalField)

時間表的瞬間點。

IsAfter(Instant)

時間表的瞬間點。

IsBefore(Instant)

時間表的瞬間點。

IsSupported(ITemporalField)

時間表的瞬間點。

IsSupported(ITemporalUnit)

時間表的瞬間點。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Minus(Int64, ITemporalUnit)

時間表的瞬間點。

Minus(ITemporalAmount)

時間表的瞬間點。

MinusMillis(Int64)

時間表的瞬間點。

MinusNanos(Int64)

時間表的瞬間點。

MinusSeconds(Int64)

時間表的瞬間點。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Now()

時間表的瞬間點。

Now(Clock)

時間表的瞬間點。

OfEpochMilli(Int64)

時間表的瞬間點。

OfEpochSecond(Int64)

時間表的瞬間點。

OfEpochSecond(Int64, Int64)

時間表的瞬間點。

Parse(ICharSequence)

時間表的瞬間點。

Parse(String)

時間表的瞬間點。

Plus(Int64, ITemporalUnit)

時間表的瞬間點。

Plus(ITemporalAmount)

時間表的瞬間點。

PlusMillis(Int64)

時間表的瞬間點。

PlusNanos(Int64)

時間表的瞬間點。

PlusSeconds(Int64)

時間表的瞬間點。

Query(ITemporalQuery)

時間表的瞬間點。

Range(ITemporalField)

時間表的瞬間點。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

時間表的瞬間點。

(繼承來源 Object)
ToEpochMilli()

將此立即轉換為 1970-01-01T00:00:00Z 的 Epoch 毫秒數。

ToString()

傳回物件的字串表示。

(繼承來源 Object)
TruncatedTo(ITemporalUnit)

時間表的瞬間點。

UnregisterFromRuntime()

時間表的瞬間點。

(繼承來源 Object)
Until(ITemporal, ITemporalUnit)

時間表的瞬間點。

Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
With(ITemporalAdjuster)

時間表的瞬間點。

With(ITemporalField, Int64)

時間表的瞬間點。

明確介面實作

IComparable.CompareTo(Object)

時間表的瞬間點。

IJavaPeerable.Disposed()

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.Finalized()

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

時間表的瞬間點。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

時間表的瞬間點。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

時間表的瞬間點。

GetJniTypeName(IJavaPeerable)

時間表的瞬間點。

適用於