Java Clock 类存在于java.time包。它是在 Java 8 中引入的,并提供使用时区对当前时刻、日期和时间的访问。
Clock 类的使用不是强制性的,因为所有日期时间类还具有使用默认时区中的系统时钟的 now() 方法。使用 Clock 类的主要目的是在需要的地方插入备用时钟。应用程序使用对象而不是静态方法来获取当前时间。这使得测试变得容易。我们可以将 Clock 作为参数传递给需要当前时刻的方法。
声明:
public abstract class Clock extends Object
它是一个抽象类,所以我们不能实例化它,但是我们可以使用多个静止的访问其实例的方法。
systemUTC()方法:
public static Clock systemUTC()
此方法返回 UTC 时区当前时刻的 Clock 实例。当您需要没有日期或时间的当前时刻时,这是最好的选择。
Java
// Java program for creating instance of Clock
import java.time.Clock;
public class GFG {
// main method
public static void main(String[] args) {
// creating a Clock instance using
// systemUTC() method of Clock class
Clock clock = Clock.systemUTC();
// getting the current instant defined by clock
System.out.println("UTC time = " + clock.instant());
}
}
输出
UTC time = 2021-02-07T16:16:43.863267Z
systemDefaultZone()方法
public static Clock systemDefaultZone()
此方法使用系统默认时区返回当前时刻的 Clock 实例。
Java
// Java program for creating instance of Clock
import java.time.Clock;
public class GFG {
// main method
public static void main(String[] args)
{
// creating a Clock instance using
// systemDefaultZone() method of Clock class
Clock clock = Clock.systemDefaultZone();
// it will print "SystemClock[Asia/Calcutta]" for me.
// The output may be different because of server
// system clock.
System.out.println(clock);
// printing zone of clock instance
// it will print "Time zone : Asia/Calcutta" for me.
System.out.println("Time Zone : "
+ clock.getZone());
}
}
输出
SystemClock[Etc/UTC] Time Zone : Etc/UTC
Methods
方法 | 说明 |
---|---|
Clock fixed() | 用于获取始终返回同一时刻的时钟。 |
Clock getZone() | 返回给定时钟的时区。 |
Clock instant() | 用于获取时钟的当前时刻。 |
millis() | 返回时钟的当前毫秒时刻。 |
offset(Clock baseClock, Duration offsetDuration) | 返回一个时钟,该时钟返回指定时钟的瞬时并添加指定的持续时间。 |
Clock system() | 返回指定区域 ID 的当前时刻的时钟对象。 |
systemDefaultZone() | 使用系统默认时区返回当前时刻的 Clock 实例。 |
Clock systemUTC() | 返回 UTC 时区当前时刻的时钟实例。 |
Clock tick() | 返回从指定基本时钟截断到最接近的指定持续时间出现的时刻。 |
Clock tickMinutes() | 返回给定时区的当前即时滴答声(整分钟)的 Clock 对象。 |
Clock tickSeconds() | 返回给定时区的当前即时滴答声(以整秒为单位)的 Clock 对象。 |
withZone(ZoneId zone) | 创建具有不同时区的时钟副本。 |
相关用法
- Java java.time.Clock.equals()用法及代码示例
- Java java.time.Clock.fixed()用法及代码示例
- Java java.time.Clock.getZone()用法及代码示例
- Java java.time.Clock.hashCode()用法及代码示例
- Java java.time.Clock.instant()用法及代码示例
- Java java.time.Clock.millis()用法及代码示例
- Java java.time.Clock.offset()用法及代码示例
- Java java.time.Clock.system()用法及代码示例
- Java java.time.Clock.systemDefaultZone()用法及代码示例
- Java java.time.Clock.systemUTC()用法及代码示例
- Java java.time.Clock.tick()用法及代码示例
- Java java.time.Clock.tickMinutes()用法及代码示例
- Java java.time.Clock.tickSeconds()用法及代码示例
- Java java.time.Clock.withZone()用法及代码示例
- Java java.time.Duration.abs()用法及代码示例
- Java java.time.Duration.addTo()用法及代码示例
- Java java.time.Duration.between()用法及代码示例
- Java java.time.Duration.compareTo()用法及代码示例
- Java java.time.Duration.dividedBy()用法及代码示例
- Java java.time.Duration.equals()用法及代码示例
- Java java.time.Duration.from()用法及代码示例
- Java java.time.Duration.get()用法及代码示例
- Java java.time.Duration.getNano()用法及代码示例
- Java java.time.Duration.getSeconds()用法及代码示例
- Java java.time.Duration.getUnits()用法及代码示例
注:本文由纯净天空筛选整理自hritikrommie大神的英文原创作品 java.time.Clock Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。