Java Clock systemDefaultZone()方法及示例

Java Clock systemDefaultZone()方法及示例

java.time.Clock.systemDefaultZone() 方法是Clock类的一个静态方法,它返回一个时钟,使用最佳可用的系统时钟返回时钟的当前瞬间,其中返回时钟的Zone是默认时区。
,如果可以使用时钟,该方法可以使用System.currentTimeMillis(),或其他更高分辨率的时钟进行实现。 当需要当前时刻而不需要日期或时间时,建议使用 该方法 。 但是如果需要对日期和时间进行操作,那么必须使用system()方法。这个方法与system(ZoneId.systemDefault())类似。从这个方法返回的时钟是不可改变的、线程安全的和可序列化的。

语法

public static Clock systemDefaultZone()

返回: 该方法返回一个使用默认区域内最佳可用系统时钟的时钟。

例子

**Code:**
//Clock with default zone
Clock clock=Clock.systemDefaultZone();
System.out.println(clock.instant());

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

**Explanation:** : 
when you call systemDefaultZone() for Clock 
then the systemDefaultZone() method will 
return a Class Object whose Zone is default Time Zone.

下面的程序说明了java.time.Clock类的systemDefaultZone()方法。

程序1:当用systemDefaultZone()创建时钟时。

这个方法使时钟区域成为默认区域。下面的程序以ZonedDateTime格式打印时钟的日期和时间。

// Java program to demonstrate
// systemDefaultZone() method of Clock class
  
import java.time.*;
  
// create class
public class systemDefaultZoneMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create Clock with systemDefaultZone() method
        Clock clock = Clock.systemDefaultZone();
  
        // 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 default Zone is "
                           + time.toString());
    }
}

输出:

ZonedDateTime of class with default Zone is 2018-08-22T11:34:36.510Z[Etc/UTC]

程序2:使用getZone()打印由systemDefaultZone()创建的时钟的zoneId。

// Java program to demonstrate
// systemDefaultZone() method of Clock class
  
import java.time.*;
  
// create class
public class systemDefaultZoneMethodDemo {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create Clock with systemDefaultZone() method
        Clock clock = Clock.systemDefaultZone();
  
        // 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 Etc/UTC

参考资料:
https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#systemDefaultZone-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程