語言

ITemporal 介面

定義

框架層級介面,定義對時段物件的讀寫存取,例如日期、時間、偏移量或這些組合。

[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
衍生
屬性
實作

備註

框架層級介面,定義對時段物件的讀寫存取,例如日期、時間、偏移量或這些組合。

這是日期、時間和偏移物件的基礎介面類型,這些物件足夠完整,可以用正負值來操作。 它是由那些能夠提供並操作資訊的類別實作,例如時空欄位欄位(TemporalField)欄位或時序查詢(TemporalQuery query)。 請參閱 TemporalAccessor 此介面的唯讀版本。

大多數日期和時間資訊都可以用數字表示。 這些數值是用 TemporalField a long 來建模的。 年份、月份和月份是欄位的簡單例子,但它們也包含即時值和偏移量。 請參閱 ChronoField 標準欄位集合。

有兩段日期/時間資訊無法用數字表示,分別是 java.time.chrono.Chronology 的時間順序與 java.time.ZoneId 時區。 這些方法可透過 #query(TemporalQuery) queries 定義在 TemporalQuery上的靜態方法存取。

此介面為框架層級介面,不應廣泛用於應用程式碼。 相反地,應用程式應該建立並傳遞具體型態的實例,例如 LocalDate。 造成這種情況的原因有很多,部分原因是此介面的實作可能存在於 ISO 以外的日曆系統中。 請參見 java.time.chrono.ChronoLocalDate 更完整的議題討論。

<h2>何時實作</h2>

若類別符合以下三個條件,則應實作此介面: <ul><li>提供日期/時間/偏移資訊存取,依 TemporalAccessor<li>欄位集合從最大到最小 <li>連續,欄位集合完整,無需其他欄位來定義所代表 <欄位的有效值範圍 /ul>

有四個例子說明了這一點: <ul><li>LocalDate 實作此介面,因為它代表一組從天數到永遠連續的欄位,且不需外部資訊即可判斷每個日期的有效性。 因此,它能夠正確實作正負值。 <LI>LocalTime 實作此介面,因為它代表一組從奈米到數天內連續的場,且不需外部資訊來判定有效性。 它能正確地實作正負值,透過包裹一天。 <LI>MonthDay 是 Month-of Year 與 Day of Month 的組合,並未實作此介面。 雖然組合是連續的,從天數到月份,但該組合缺乏足夠資訊來定義月份值的有效範圍。 因此,它無法正確實作正負值。 <li>星期幾與月份日期(「星期五13號」)的組合不應實作此介面。 它不代表連續的欄位集合,因為天到週的時間會重疊到天到月。 </ul>

新增於1.8版本。

java.time.temporal.TemporalJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

框架層級介面,定義對時段物件的讀寫存取,例如日期、時間、偏移量或這些組合。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
Get(ITemporalField)

取得指定欄位的值為 int

(繼承來源 ITemporalAccessor)
GetLong(ITemporalField)

取得指定欄位的值為 long

(繼承來源 ITemporalAccessor)
IsSupported(ITemporalField)

檢查指定欄位是否支援。

(繼承來源 ITemporalAccessor)
IsSupported(ITemporalUnit)

檢查指定單位是否支援。

Minus(Int64, ITemporalUnit)

回傳一個與此物件類型相同且已減去指定期間的物件。

Minus(ITemporalAmount)

回傳一個與此物件類型相同且數量減去的物件。

Plus(Int64, ITemporalUnit)

回傳一個與此物件類型相同且加上指定期間的物件。

Plus(ITemporalAmount)

回傳一個與此物件同類型的物件,並加上一個數量。

Query(ITemporalQuery)

查詢日期與時間。

(繼承來源 ITemporalAccessor)
Range(ITemporalField)

取得指定欄位的有效值範圍。

(繼承來源 ITemporalAccessor)
SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

框架層級介面,定義對時段物件的讀寫存取,例如日期、時間、偏移量或這些組合。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference

(繼承來源 IJavaPeerable)
UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

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

以指定單位計算下一個時間點的時間。

With(ITemporalAdjuster)

回傳一個與此物件同類型的調整後物件,並已調整。

With(ITemporalField, Int64)

回傳一個與此物件類型相同且欄位已更改的物件。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

框架層級介面,定義對時段物件的讀寫存取,例如日期、時間、偏移量或這些組合。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於