Clock system() Method in Java with Examples
Last Updated :
17 Jan, 2023
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
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) {
ZoneId zoneId = ZoneId.of( "Europe/Paris" );
Clock clock = Clock.system(zoneId);
Instant instant = clock.instant();
ZonedDateTime time = instant.atZone(clock.getZone());
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
import java.time.*;
public class SystemMethodDemo {
public static void main(String[] args) {
ZoneId zoneId = ZoneId.of( "US/Arizona" );
Clock clock = Clock.system(zoneId);
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-
Share your thoughts in the comments
Please Login to comment...