时钟
大多数基于时间的对象提供一个无参数的 now()
方法,该方法使用系统时钟和默认时区提供当前日期和时间。这些基于时间的对象还提供一个带一个参数的 now(Clock)
方法,允许您传入一个备用 Clock
。
当前日期和时间取决于时区,对于全球化应用程序,需要一个 Clock
来确保日期/时间使用正确的时区创建。因此,虽然使用 Clock
类是可选的,但此功能允许您测试代码以使用其他时区,或者使用固定时钟,其中时间不会改变。
Clock
类是抽象的,因此您无法创建它的实例。以下工厂方法对于测试很有用。
Clock.offset(Clock, Duration)
返回一个偏移指定Duration
的时钟。Clock.systemUTC()
返回一个表示格林威治/UTC 时区的时钟。Clock.fixed(Instant, ZoneId)
始终返回相同的 Instant。对于此时钟,时间静止不动。
上次更新: 2022 年 1 月 27 日