Clock

大多数基于时间的对象提供无参数now\(\)方法,该方法使用系统时钟和默认timezone提供当前日期和时间。这些基于时间的对象还提供了一个单参数now\(Clock\)方法,该方法使您可以传递备用Clock

当前日期和时间取决于timezone,对于 Global 化的应用程序,必须使用Clock才能确保使用正确的timezone创建日期/时间。因此,尽管Clock类的使用是可选的,但此功能允许您测试其他timezone的代码,或者使用时间不变的固定时钟来测试代码。

Clock类是抽象的,因此无法创建它的实例。以下工厂方法对于测试很有用。