首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有新的方法可以在Java now中获得精确到微秒的当前时间?

有没有新的方法可以在Java now中获得精确到微秒的当前时间?
EN

Stack Overflow用户
提问于 2015-11-02 15:23:19
回答 2查看 18.9K关注 0票数 14

我查看了下面的页面,2009年在Java中没有方法以微秒为单位精确获取当前时间。

Current time in microseconds in java

最好的是System.currentTimeMillis(),它以毫秒为单位提供当前时间,而System.nanoTime()以纳秒为单位提供当前时间戳,但此时间戳不能用于高精度地转换为当前时间。

我想知道Java在6年后有什么新的更新吗?谢谢。

Edit1.System.nanoTime()用于估计持续时间,但不提供当前时间。

编辑2.在Java 8中有解决方案很好。在Java 7中有没有其他方法可以做到这一点?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-11-02 15:28:29

Java8 java.time包提供了您需要的东西。

尝试:

代码语言:javascript
复制
LocalDateTime.now(); // The current timestamp accurate to nanoseconds
LocalDateTime.now().getLong(ChronoField.MICRO_OF_SECOND); // the microseconds part
LocalDateTime.now().getLong(ChronoField.NANO_OF_SECOND); // even finer
LocalDateTime.now().getDayOfMonth(); // main parts of the date have their own methods
LocalDateTime.now().getMonth(); // etc  

要仅将nanos作为字符串获取,请使用以下格式的nnnnnnnnn

代码语言:javascript
复制
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.nnnnnnnnn"));  
票数 6
EN

Stack Overflow用户

发布于 2015-11-02 15:33:34

从新的Java8 java.time获取当前时间的另一种方法是Clock

代码语言:javascript
复制
Clock.systemUTC().millis()

给出当前时间,单位为毫秒(从纪元开始的长值毫秒)或

代码语言:javascript
复制
Clock.systemUTC().instant()

根据the official Oracle Java tutorial返回Instant类的实例“表示时间轴上纳秒的开始”。本教程介绍了如何使用新类,如何转换为本地或UTC或分区日期时间等

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33472569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档