Java Clock system()方法及实例

Java Clock system()方法及实例

java.time.Clock.system(ZoneId zone) 方法是Clock类的一个静态方法,它返回一个时钟,该时钟使用最佳的可用系统时钟,返回的时钟的ZoneID被设置为所传递的ZoneID的当前时刻。这个方法可以使用System.currentTimeMillis(),或者其他更高分辨率的时钟,如果该时钟可以使用的话。在从瞬时转换到日期或时间的时候,指定的时区被用来给出该时区的日期和时间。从这个方法返回的时钟是不可改变的、线程安全的和可串行的。

语法

public static Clock system(ZoneId zone)

参数: 该方法需要一个强制性的参数 zone ,即在将瞬间转换为日期时间时使用的时区 。 返回: 该方法返回给定ZoneId的时钟对象 。

代码:

// 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());

输出: :
2018-08-21T10:25:52.361Z

解释:

当你为时钟调用system(ZoneId)时,system(ZoneId)
方法将返回一个给定ZoneId的类对象。
你可以通过使用类的瞬间来获得时钟的日期和时间。

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

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

// Java program to demonstrate
// system(ZoneId) method of Clock class
 
import java.time.Clock;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
 
/**
 * Demonstrates the use of the system(ZoneId) method of Clock class
 */
public class SystemMethodDemo {
 
    public static void main(String[] args) {
        // create a ZoneId 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);
    }
}

输出

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.*;
 
/**
 * This class demonstrates the Clock class's system() method,
 * which allows us to create a clock that represents the current time
 * in a particular time zone
 */
public class SystemMethodDemo {
 
    public static void main(String[] args) {
 
        // Create a ZoneId for US/Arizona
        ZoneId zoneId = ZoneId.of("US/Arizona");
 
        // Create a Clock instance with the system(zoneId) method
        Clock clock = Clock.system(zoneId);
 
        // Print details of the ZoneId of the 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/time/Clock.html#system-java.time.ZoneId-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程