java.time.Clock.systemDefaultZone() method is a static method of Clock class which returns a clock that returns the current instant of the clock using best available system clock where Zone of the returned clock is default time-zone.
This method can use System.currentTimeMillis(), or other higher resolution clock for its implementation if the clock is available to use. This method is recommended to use when the current instant is needed without the date or time. But if operation of date and time is needed, then system() method must be used. This method is similar as system(ZoneId.systemDefault()). Returned clock from this method is immutable, thread-safe and Serializable.
public static Clock systemDefaultZone()
Returns: This method returns a clock that uses the best available system clock in the default zone
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.
Below programs illustrates systemDefaultZone() method of java.time.Clock class:
Program 1: When Clock is created with systemDefaultZone().
This method makes clock zone to Default Zone. Below program print date and time of clock in ZonedDateTime format.
ZonedDateTime of class with default Zone is 2018-08-22T11:34:36.510Z[Etc/UTC]
Program 2: Print the zoneId using getZone() for clock created by systemDefaultZone().
ZoneID of class is Etc/UTC
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.