我需要获得最精确的时间(与系统时钟同步),以毫秒为单位。
我知道System.currentTimeMillis()是准确的。
我也知道JodaTime的毫秒数是准确的。

哪个更准确?

谢谢!

最佳答案

默认情况下,Joda Time只是背负System.currentTimeMillis。 Joda Time中的所有内容都使用DateTimeUtils.currentTimeMillis,默认情况下使用System.currentTimeMillis(),但可以使用setCurrentMillisProvider()替换。

如果您希望将其与系统时钟同步,则System.currentTimeMillis应该没问题。当然,您可以使用NTP提供程序来获得更准确的时间。

(我个人不喜欢Joda公开的静态依赖关系-总比不能做任何测试更好,但是它仍然是全局状态。我更喜欢将Clock对象作为依赖关系传递给需要当前时间的任何事物)

10-04 10:21