Most temporal-based objects provide a no-argument
now\(\) method that provides the current date and time using the system clock and the default time zone. These temporal-based objects also provide a one-argument
now\(Clock\) method that allows you to pass in an alternative Clock.
The current date and time depends on the time-zone and, for globalized applications, a
Clock is necessary to ensure that the date/time is created with the correct time-zone. So, although the use of the
Clock class is optional, this feature allows you to test your code for other time zones, or by using a fixed clock, where time does not change.
Clock class is abstract, so you cannot create an instance of it. The following factory methods can be useful for testing.