Java Clock 类

2024 年 8 月 29 日 | 阅读 3 分钟

Java Clock 类用于通过时区访问当前日期和时间。 它继承了 Object 类。

因为所有日期时间类都包含一个使用默认时区的系统时钟的 now() 函数,所以不需要使用 Clock 类。 Clock 类的目的是允许您在需要时插入另一个时钟。 应用程序使用一个对象来获取当前时间,而不是使用静态方法。 它简化了测试过程。 需要当前时刻的方法可以将 Clock 作为一个参数。

Java Clock 类声明

让我们看看 java.time.Clock 类的声明。

Java Clock 类的方法

方法描述
abstract ZoneId getZone()它用于获取用于创建日期和时间的时区。
abstract Instant instant()它用于获取时钟的当前时刻。
static Clock offset(Clock baseClock, Duration offsetDuration)它用于获取一个时钟,该时钟返回来自指定时钟的时刻,并添加指定的持续时间
static Clock systemDefaultZone()它用于获取一个时钟,该时钟使用最佳可用的系统时钟返回当前时刻,使用默认时区转换为日期和时间。
static Clock systemUTC()它用于获取一个时钟,该时钟使用最佳可用的系统时钟返回当前时刻,使用 UTC 时区转换为日期和时间。
boolean equals(Object obj)它检查此时钟是否与另一个时钟相等。
static Clock fixed(Instant fixedInstant, ZoneId zone)它获取一个始终返回相同时刻的时钟。
static Clock system(ZoneId zone)它获取一个时钟,该时钟使用最佳可用的系统时钟返回当前时刻。
int hashCode()它获取用于创建日期和时间的时区。
long millis()它获取时钟的当前毫秒时刻。
static Clock tick(Clock baseClock, Duration tickDuration)它获取一个时钟,该时钟从指定时钟返回时刻,截断到指定持续时间的最接近的出现时间。
static Clock tickMinutes(ZoneId zone)它获取一个时钟,该时钟使用最佳可用的系统时钟以整分钟为单位返回当前时刻。
static Clock tickSeconds(ZoneId zone)它获取一个时钟,该时钟使用最佳可用的系统时钟以整秒为单位返回当前时刻。
static Clock withZone(ZoneId zone)它返回此带有时区不同的时钟的副本。

Java Clock 类示例:getZone()

ClockExample1.java

立即测试

输出

Asia/Calcutta

Java Clock 类示例:instant()

ClockExample2.java

立即测试

输出

2017-01-14T07:11:07.748Z

Java Clock 类示例:systemUTC()

ClockExample3.java

立即测试

输出

2017-01-14T07:11:07.748Z

Java Clock 类示例:offset()

ClockExample4.java

立即测试

输出

2017-01-14T14:15:25.389Z

下一个主题Java ZonedDateTime