Clock 类

定义

提供使用时区访问当前即时、日期和时间的时钟。

[Android.Runtime.Register("java/time/Clock", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class Clock : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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
属性
实现

注解

提供使用时区访问当前即时、日期和时间的时钟。

此抽象类的实例用于访问当前即时的可插入表示形式,可以使用存储的时区来查找当前日期和时间。 例如, Clock 可以使用而不是 System#currentTimeMillis()TimeZone#getDefault()

使用 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.time.ClockJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

名称 说明
Clock()

子类可访问的构造函数。

Clock(IntPtr, JniHandleOwnership)

提供使用时区访问当前即时、日期和时间的时钟。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
JniPeerMembers

提供使用时区访问当前即时、日期和时间的时钟。

PeerReference

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
ThresholdClass

提供使用时区访问当前即时、日期和时间的时钟。

ThresholdType

提供使用时区访问当前即时、日期和时间的时钟。

Zone

提供使用时区访问当前即时、日期和时间的时钟。

方法

名称 说明
Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
Dispose(Boolean)

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Fixed(Instant, ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Instant()

提供使用时区访问当前即时、日期和时间的时钟。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Millis()

获取时钟的当前毫秒时间。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Offset(Clock, Duration)

提供使用时区访问当前即时、日期和时间的时钟。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
System(ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

SystemDefaultZone()

提供使用时区访问当前即时、日期和时间的时钟。

SystemUTC()

提供使用时区访问当前即时、日期和时间的时钟。

Tick(Clock, Duration)

提供使用时区访问当前即时、日期和时间的时钟。

TickMillis(ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

TickMinutes(ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

TickSeconds(ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

ToArray<T>()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
WithZone(ZoneId)

提供使用时区访问当前即时、日期和时间的时钟。

显式接口实现

名称 说明
IJavaPeerable.Disposed()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.Finalized()

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

提供使用时区访问当前即时、日期和时间的时钟。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

提供使用时区访问当前即时、日期和时间的时钟。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于