Java Clock systemUTC()方法及示例
java.time.Clock.systemUTC() 方法是时钟类的一个静态方法,它返回一个使用最佳可用系统时钟的时钟的当前瞬间,其中返回的时钟的区是UTC时区。
当需要不含日期或时间的当前时刻时,使用systemUTC()方法代替systemDefaultZone()。
当把当前时刻转换为日期和时间时,转换器使用UTC时区作为转换的区域。这个时钟是基于现有的最佳系统时钟。这个方法可以使用System.currentTimeMillis(),或者其他更高分辨率的时钟来实现,如果该时钟可以使用的话。
从这个方法返回的时钟是不可改变的、线程安全的和可序列化的。
语法
public static Clock systemUTC()
返回值: 该方法返回一个使用UTC时区最佳可用系统时钟的时钟。
例子
代码:
//Clock with default zone
Clock clock=Clock.systemUTC();
System.out.println(clock.instant());
输出: :
2018-08-21T20:38:10.772Z
解释: :
当你为时钟调用systemUTC()时,systemUTC()
方法将返回一个类对象,其Zone为UTC时区。
下面的程序说明了java.time.Clock类的systemUTC()方法。
程序1:当用systemUTC()创建时钟时。
下面的程序以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/time/Clock.html#systemUTC-