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