📜  Java中的Clock system()方法和例子

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

Java中的Clock system()方法和例子

Java.time.Clock.system(ZoneId zone)方法是 Clock 类的静态方法,它返回一个时钟,该时钟使用最佳可用系统时钟返回时钟的当前时刻,返回时钟的 ZoneID 设置为传递的 ZoneID。如果时钟可用,此方法可以使用 System.currentTimeMillis() 或其他更高分辨率的时钟。

在从即时到日期或时间的转换时,指定的时区用于给出该时区的日期和时间。从这个方法返回的时钟是不可变的、线程安全的和可序列化的。

句法:

public static Clock system(ZoneId zone)

参数:此方法采用强制参数zone ,该参数是在将即时转换为日期时间时使用的时区

返回:该方法返回给定 ZoneId 的 Clock 对象

例子:

Code:
// create a Zone Id for Europe/Paris
ZoneId zoneId = ZoneId.of("Europe/Paris");

// base Clock with default zone
Clock realClock=Clock.system(zoneId);
System.out.println(clock.instant());

Output:: 
2018-08-21T10:25:52.361Z

Explanation:: 
when you call system(ZoneId) for Clock then the system(ZoneId)
method will return a Class Object for the given ZoneId.you can get
date and time of clock by using instant of class.

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

程序 1:使用 system(ZoneId) 创建时钟时,其中 ZoneId 为“Europe/Paris”并打印时钟的日期和时间。

// Java program to demonstrate
// system(ZoneId) method of Clock class
  
import java.time.*;
  
// create class
public class systemMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create a Zone Id for Europe/Paris
        ZoneId zoneId = ZoneId.of("Europe/Paris");
  
        // create Clock with system(zoneId) method
        Clock clock = Clock.system(zoneId);
  
        // 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 time
        System.out.println("Instant for class is " + time.toString());
    }
}
输出:
Instant for class is 2018-08-22T13:53:35.779+02:00[Europe/Paris]

程序 2:使用 system() 创建带有区域“US/Arizona”的时钟,并使用 getZone() 打印 zoneId。

// Java program to demonstrate
// system(ZoneId) method of Clock class
  
import java.time.*;
  
// create class
public class systemMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create a Zone Id for US/Arizona
        ZoneId zoneId = ZoneId.of("US/Arizona");
  
        // create Clock with system(zoneId) method
        Clock clock = Clock.system(zoneId);
  
        // print details of ZoneId of new Clock
        System.out.println("ZoneID of class is "
                           + clock.getZone());
    }
}
输出:
ZoneID of class is US/Arizona

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