gpt4 book ai didi

java-8 - 以微秒为单位获取持续时间

转载 作者:行者123 更新时间:2023-12-04 13:30:31 27 4
gpt4 key购买 nike

考虑这个例子:

final Duration twoSeconds = Duration.ofSeconds(2);
// final long microseconds = twoSeconds.get(ChronoUnit.MICROS); throws UnsupportedTemporalTypeException: Unsupported unit: Micros
final long microseconds = twoSeconds.toNanos() / 1000L;
System.out.println(microseconds);

我想知道是否有比从纳秒手动转换更好的方法来获得以微秒为单位的持续时间。

最佳答案

我不会使用 java.time用于此类任务的 API,因为您可以简单地使用

long microseconds = TimeUnit.SECONDS.toMicros(2);

来自 concurrency API从 Java 5 开始工作。

但是,如果您已经存在 Duration实例或任何其他理由坚持使用 java.time API,你可以使用
Duration existingDuration = Duration.ofSeconds(2);
long microseconds = existingDuration.dividedBy(ChronoUnit.MICROS.getDuration());

需要 Java 9 或更新版本

对于 Java 8,似乎确实没有比 existingDuration.toNanos() / 1000 更好的方法了。或结合两个 API,如 TimeUnit.NANOSECONDS.toMicros(existingDuration.toNanos()) .

关于java-8 - 以微秒为单位获取持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690703/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com