The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
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.
The Clock class is abstract, so you cannot create an instance of it. The following factory methods can be useful for testing.