📜  Java中的时钟 systemUTC() 方法及示例

📅  最后修改于: 2022-05-13 01:54:24.826000             🧑  作者: Mango

Java中的时钟 systemUTC() 方法及示例

Java.time.Clock.systemUTC()方法是 Clock 类的静态方法,它返回一个时钟,该时钟使用最佳可用系统时钟返回时钟的当前时刻,其中返回时钟的区域是 UTC 时区。

如果需要没有日期或时间的当前时刻,则使用 systemUTC() 方法代替 systemDefaultZone()。

将即时转换为日期和时间时,转换器使用 UTC 时区作为区域进行转换。此时钟基于最佳可用系统时钟。如果时钟可用,此方法可以使用 System.currentTimeMillis() 或其他更高分辨率的时钟来实现。

从这个方法返回的时钟是不可变的、线程安全的和可序列化的。

句法:

public static Clock systemUTC()

返回值:此方法返回使用 UTC 时区中最佳可用系统时钟的时钟

例子:

Code:
//Clock with default zone
Clock clock=Clock.systemUTC();
System.out.println(clock.instant());

Output:: 
2018-08-21T20:38:10.772Z

Explanation:: 
when you call systemUTC() for Clock then the systemUTC()
method will return a Class Object whose Zone is UTC time zone.

下面的程序说明了Java.time.Clock 类的 systemUTC() 方法:

程序 1:使用 systemUTC() 创建时钟时。

此方法将时钟区域设置为 UTC Zone。下面程序以 ZonedDateTime 格式打印时钟的日期和时间。

// Java program to demonstrate
// systemUTC() method of Clock class
  
import java.time.*;
  
// create class
public class systemUTCMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create Clock with systemUTC() method
        Clock clock = Clock.systemUTC();
  
        // get instant of class
        Instant instant = clock.instant();
  
        // get ZonedDateTime object from instantObj
        // to get date time
        ZonedDateTime time = instant.atZone(clock.getZone());
  
        // print details of ZonedDateTime
        System.out.println("ZonedDateTime of class with UTC"
                           + " Time Zone is "
                           + time.toString());
    }
}
输出:
ZonedDateTime of class with UTC Time Zone is 2018-08-22T11:41:15.554Z

程序 2:使用 getZone() 打印由 systemUTC() 创建的时钟的 zoneId。

// Java program to demonstrate
// systemUTC() method of Clock class
  
import java.time.*;
  
// create class
public class systemUTCMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create Clock with systemUTC() method
        Clock clock = Clock.systemUTC();
  
        // get ZoneId of Clock
        ZoneId zone = clock.getZone();
  
        // print details of ZoneId of new Clock
        System.out.println("ZoneID of class is " + zone);
    }
}
输出:
ZoneID of class is Z

参考:
https://docs.oracle.com/javase/8/docs/api/java Java