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