当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.time.Clock用法及代码示例


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) 创建具有不同时区的时钟副本。


相关用法


注:本文由纯净天空筛选整理自hritikrommie大神的英文原创作品 java.time.Clock Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。