您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么新的Java 8日期时间API不具有纳秒精度?

为什么新的Java 8日期时间API不具有纳秒精度?

java.timeAPI通常 确实 具有纳秒级的精度。例如:

DateTimeFormatter formatter = DateTimeFormatter
    .ofPattern("yyyy-MM-dd'T'HH:mm:ss,nnnnnnnnnZ");
OffsetDateTime odt = OffsetDateTime.of(2015, 11, 2, 12, 38, 0, 123456789, ZoneOffset.UTC);
System.out.println(odt.format(formatter));

输出

2015-11-02T12:38:00,123456789+0000

但是,它OffsetDateTime.Now()是返回的时钟值,它返回的值只有毫秒。

ClockJava8的实现中:

此处提供的时钟实现基于System.currentTimeMillis()。该方法几乎不能保证时钟的准确性。需要更精确时钟的应用程序必须使用其他外部时钟(例如NTP服务器)自己实现此抽象类。

因此,这里并没有天生的不精确之处-只是Clockusing 的认实现System.currentTimeMillis()。您可能会创建自己的更精确的子类。但是,您应该注意,增加精度而不增加 _精度_可能并不是非常有用。(诚??然,有时候可能会这样)

java 2022/1/1 18:13:35 有788人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶