Clock systemDefaultZone() Method in Java with Examples

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.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

ZoneID of class is Etc/UTC

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



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.