私はナノ秒から分に時間を変換しようとしています。 マイコードは以下のようになります。JavaでTimeUnit.convert()が正しく変換されないのはなぜですか?
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);
出力:のJavaDocによると
estimatedTime is always in nanoseconds
estimatedTime2 is always 0;
からTimeUnit:
public long convert(long sourceDuration, TimeUnit sourceUnit)
estimatedTime2にlong
を返すように仮定法。
このコンバージョンタイプを使用する正しい形式は何ですか。
ありがとう!
[MCVE]または[sscce ](http://sscce.org)をご覧ください。 –
estimatedTime2が常に0になる可能性は、あなたのstartTimeとendTimeの間に十分な時間がないために計算されたestimatedTimeが0であることが原因である可能性があります。 –
はestimatedTimeを出力します。推定時間も印刷し、その値を参照してください。値が小さすぎても分に変換できない場合は、常にゼロになります。 –