當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。