所以我试图将时间从纳秒转换为分钟。 我的代码看起来像这样:
long startTime=System.nanoTime();
//some code...
long endTime=System.nanoTime();
long estimatedTime=endTime-startTime;
long estimatedTime2=TimeUnit.MINUTES.convert(estimatedTime, TimeUnit.NANOSECONDS);
System.out.println(estimatedTime2 +","+estimatedTime);
输出:
estimatedTime is always in nanoseconds
estimatedTime2 is always 0;
根据JavaDoc - TimeUnit:
public long convert(long sourceDuration, TimeUnit sourceUnit)
该方法假设将long
返回到estimatedTime2。
使用此转换类型的正确表单是什么?
谢谢!
答案 0 :(得分:2)
除非endTime和startTime之间的差异超过一分钟,否则答案为零。请注意,convert()返回值不是float或double(表示没有小数点)
答案 1 :(得分:0)
您也可以手动完成,而无需全部开销 -
float minutesElapsed = estimatedTime / 1000 / 1000 / 1000 / 60;
nano / 1000 -> micro / 1000 -> milli / 1000 -> sec / 60 -> minutes