Clock 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個時鐘,透過時區提供即時、日期和時間的存取。
[Android.Runtime.Register("java/time/Clock", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class Clock : Java.Lang.Object, IDisposable, Java.Time.IInstantSource
[<Android.Runtime.Register("java/time/Clock", ApiSince=26, DoNotGenerateAcw=true)>]
type Clock = class
inherit Object
interface IInstantSource
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
一個時鐘,透過時區提供即時、日期和時間的存取。
此抽象類別的實例用於存取當前時刻的可插拔表示,並可利用儲存的時區來解讀該表示,以尋找當前日期與時間。 例如, Clock 可以用來代替 System#currentTimeMillis() 和 TimeZone#getDefault()。
使用 a Clock 是可選的。 所有關鍵日期-時間類別也有 now() 工廠方法,使用預設時區的系統時鐘。 此抽象化的主要目的是允許在需要時插入交替時鐘。 應用程式使用物件來取得當前時間,而非靜態方法。 這可以簡化測試流程。
因此,這個抽象類別並不保證結果實際上代表時間線上的當前時刻。 相反地,它讓應用程式能夠提供一個受控的即時與時區視圖。
應用的最佳實務是將 傳遞 Clock 到 任何需要當前瞬間與時區的方法。 依賴注入框架是達成此目標的一種方式:
public class MyBean {
private Clock clock; // dependency inject
...
public void process(LocalDate eventDate) {
if (eventDate.isBefore(LocalDate.now(clock)) {
...
}
}
}
此方法允許在測試中使用替代時鐘,例如 #fixed(Instant, ZoneId) fixed 或 #offset(Clock, Duration) offset 。
system工廠方法提供基於最佳系統時鐘的時鐘。 這可能會使用 System#currentTimeMillis(),或如果有更高解析度的時鐘。
新增於1.8版本。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Clock() |
建構器由子類別存取。 |
| Clock(IntPtr, JniHandleOwnership) |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| JniPeerMembers |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
| ThresholdType |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
| Zone |
這會讓時區被用來建立日期和時間。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| Equals(Object) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Fixed(Instant, ZoneId) |
獲得一個總是在同一時間返回的時鐘。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| Instant() |
讀取當前時鐘的瞬間。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Millis() |
會得到時鐘的當前毫秒秒。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Offset(Clock, Duration) |
取得一個時鐘,從指定時鐘回傳時間並加上指定時長的瞬間。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| System(ZoneId) |
取得一個時鐘,能利用最佳系統時鐘回傳當前時刻。 |
| SystemDefaultZone() |
取得一個時鐘,能使用最佳系統時鐘回傳當前時刻,並以預設時區轉換為日期與時間。 |
| SystemUTC() |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
| Tick(Clock, Duration) |
取得一個時鐘,能從指定時鐘中回傳時間,並截斷至指定時長中最接近的出現點。 |
| TickMillis(ZoneId) |
取得一個時鐘,能以整毫秒回傳當前瞬間滴答聲,使用最佳系統時鐘。 |
| TickMinutes(ZoneId) |
獲得一個時鐘,能以整分鐘回傳當前瞬間滴答,使用最佳系統時鐘。 |
| TickSeconds(ZoneId) |
取得一個時鐘,能以整秒計時回傳當前瞬間滴答,使用最佳系統時鐘。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| WithZone(ZoneId) |
回傳一份時區不同的時鐘。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一個時鐘,透過時區提供即時、日期和時間的存取。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個時鐘,透過時區提供即時、日期和時間的存取。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |