Open In App

Clock system() Method in Java with Examples

Last Updated : 17 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

java.time.Clock.system(ZoneId zone) 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 with ZoneID of the returned clock is set to the ZoneID passed. This method can use System.currentTimeMillis(), or other higher resolution clock if the clock is available to use. At the time of conversion from instant to date or time, the specified time-zone is used to give date and time of that timezone. Returned clock from this method is immutable, thread-safe and Serializable. 

Syntax:

public static Clock system(ZoneId zone)

Parameters: This method takes a mandatory parameter zone which is the time-zone to use at time of conversion of the instant to date-time Returns: The method returns Clock object for the given ZoneId Example:

Code:
// create a Zone Id for Europe/Paris
ZoneId zoneId = ZoneId.of("Europe/Paris");

// base Clock with default zone
Clock realClock=Clock.system(zoneId);
System.out.println(clock.instant());

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

Explanation:: 
when you call system(ZoneId) for Clock then the system(ZoneId)
method will return a Class Object for the given ZoneId.you can get
date and time of clock by using instant of class.

Below programs illustrates system(ZoneId) method of java.time.Clock class: Program 1: When Clock is created with system(ZoneId) where ZoneId is “Europe/Paris” and print date and time of clock. 

Java




// Java program to demonstrate
// system(ZoneId) method of Clock class
 
import java.time.Clock;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
 
/**
 * Demonstrates the use of the system(ZoneId) method of Clock class
 */
public class SystemMethodDemo {
 
    public static void main(String[] args) {
        // create a ZoneId for Europe/Paris
        ZoneId zoneId = ZoneId.of("Europe/Paris");
 
        // create Clock with system(zoneId) method
        Clock clock = Clock.system(zoneId);
 
        // 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 time
        System.out.println("Instant for class is " + time);
    }
}


Output:

Instant for class is 2018-08-22T13:53:35.779+02:00[Europe/Paris]

Program 2: Create Clock with Zone “US/Arizona” using system() and print the zoneId using getZone(). 

Java




// Java program to demonstrate
// system(ZoneId) method of Clock class
 
import java.time.*;
 
/**
 * This class demonstrates the Clock class's system() method,
 * which allows us to create a clock that represents the current time
 * in a particular time zone
 */
public class SystemMethodDemo {
 
    public static void main(String[] args) {
 
        // Create a ZoneId for US/Arizona
        ZoneId zoneId = ZoneId.of("US/Arizona");
 
        // Create a Clock instance with the system(zoneId) method
        Clock clock = Clock.system(zoneId);
 
        // Print details of the ZoneId of the new Clock
        System.out.println("ZoneID of class is " + clock.getZone());
    }
}


Output:

ZoneID of class is US/Arizona

Reference: https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#system-java.time.ZoneId-



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads