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.
Syntax:
Java
Java
public static Clock systemDefaultZone()Returns: This method returns a clock that uses the best available system clock in the default zone Example:
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.
// 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());
}
}
Output:
Program 2: Print the zoneId using getZone() for clock created by systemDefaultZone().
ZonedDateTime of class with default Zone is 2018-08-22T11:34:36.510Z[Etc/UTC]
// 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);
}
}
Output:
Reference:
https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#systemDefaultZone--ZoneID of class is Etc/UTC