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