我记录了Java花费多长时间的持续时间。为此,我正在运行:
long startTime = System.nanoTime();
...
long duration = System.nanoTime() - startTime;
现在,我想花一段时间并以mm:ss.SSS
的格式打印出来。我如何用Java做到这一点?
答案 0 :(得分:-1)
只需将其转换为毫秒:
import java.util.concurrent.TimeUnit;
...
long duration_ms = TimeUnit.NANOSECONDS.toMilliseconds( duration )
然后DateFormat将按预期工作。
经过进一步反思,我的回答是不正确的。问题是System.currentTimeMillis()(和DateFormat)需要自纪元以来的毫秒数。上面的转换方法会将持续时间转换为毫秒,因此如果你有一个以纳秒为单位的初始值和自epoch以来的ms,你可以将它与一些数学一起使用,但System.nanoTime()没有定义为特别是相对于任何东西。 / p>