Java Clock class is part of Date Time API, java.time.Clock, of Java. The Java Date Time API was added from Java version 8.
fixed() method of Clock class returns a clock object and the Clock object returns the same instant. Clock object is returned by calling Clock.fixed(parameters) simply returns the same instant as specified using parameters. The returned class object is immutable, thread-safe and Serializable. The main use of this method is in testing, where the clock needed is fixed in place of the current clock.
Syntax:
public static Clock fixed(Instant fixedInstant, ZoneId zone)
Parameters: This method takes two mandatory parameter:
- fixedInstant – the instant object to create Clock object. It must not be null.
- zone – the time zone for clock object. It must not be null.
Return Value: This method returns Clock object that returns the same instant.
Example:
Input::
Instance object as parameter : Instant.parse("2018-08-19T16:45:42.00Z");
TimeZone Object as parameter : ZoneId.of("Asia/Calcutta");
Output::
class object:
Explanation::
when Clock.fixed(Instant.parse("2018-08-19T16:45:42.00Z") is called,
then the fixed() method will return a clock object
in return with fixed time zone and instance.
Below programs illustrates fixed() method of java.time.Clock class:
Program 1: Using fixed() when Zone is defined
// Java program to demonstrate// fixed() method of Clock class  import java.time.*;  // create classpublic class fixedMethodDemo {      // Main method    public static void main(String[] args)    {          // create instance of clock class        Instant instant = Instant.parse("2018-08-19T16:02:42.00Z");          // create ZoneId object for Asia/Calcutta zone        ZoneId zoneId = ZoneId.of("Asia/Calcutta");          // call fixed method        Clock clock = Clock.fixed(instant, zoneId);          // print details of clock        System.out.println(clock.toString());    }} |
FixedClock[2018-08-19T16:02:42Z, Asia/Calcutta]
Program 2: Using fixed() for default Zone
// Java program to demonstrate // fixed() method of Clock class    import java.time.*;  // create classpublic class fixedMethodDemo {      // Main method    public static void main(String[] args)    {        // create instance of clock class        Instant instant = Instant.now();          // create ZoneId for defaultZone which is UTC        ZoneId zoneId = ZoneId.systemDefault();          // call fixed method        Clock clock = Clock.fixed(instant, zoneId);          // print details of clock        System.out.println(clock.toString());    }} |
FixedClock[2018-08-21T08:10:32.498Z, Etc/UTC]
