Open In App

Clock systemDefaultZone() Method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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:

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:

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().




// 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:

ZoneID of class is Etc/UTC

Reference:
https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#systemDefaultZone–



Last Updated : 10 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads