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