Bas*_*que 5 java clock java-time
Java 8 及更高版本中内置的java.time框架包含Clock该类。这个类提供了一些对测试我们的日期时间处理代码有用的变体。
Instant.now( Clock.fixed?( myInstant , myZoneId ) )
Run Code Online (Sandbox Code Playgroud)
哪个Clock实例表示在java.time调用中隐式使用的默认值,其中我们没有指定Clock?
Instant.now()
Run Code Online (Sandbox Code Playgroud)
我想默认是:
……但文档没有说明是哪个。
在进行单元测试时,有时我们需要一个行为改变的时钟。但是当我们想显式传递一个Clock提供默认行为的对象时,我们使用什么?
Instant.now()1 的源代码,如果您使用 IDE 2,您可以很容易地找到它:
public static Instant now() {
return Clock.systemUTC().instant();
}
Run Code Online (Sandbox Code Playgroud)
1) 从 OpenJDK 14 复制
2) 例如在 Eclipse 中,您将光标放在上面now()并按 F3 以查看源代码。
保证所有兼容的 Java 版本都会这样做,因为它是为该方法定义的契约的一部分,即它在以下的 javadoc 中有这样的记录now():
这将查询系统 UTC 时钟以获取当前时刻。
该链接指向Clock.systemUTC().
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |