語言

Clock 類別

定義

一個時鐘,透過時區提供即時、日期和時間的存取。

[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版本。

Java 文件 java.time.Clock。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
Clock()

建構器由子類別存取。

Clock(IntPtr, JniHandleOwnership)

一個時鐘,透過時區提供即時、日期和時間的存取。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
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)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

一個時鐘,透過時區提供即時、日期和時間的存取。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用於