【发布时间】:2019-01-30 14:46:10
【问题描述】:
我最近正在研究番石榴。秒表有这样一个问题。 我有一个方法可以计算 put 方法执行的总时间和数量,以便计算 put 方法执行所花费的平均时间。
Stopwatch stopwatch = Stopwatch.createStarted();
cacheEntry.put(str, new CacheEntry(str));
putCounter++;
mapBasedStatisticsCache.setPutCounter(putCounter);
currentTime += stopwatch.stop().elapsed(TimeUnit.NANOSECONDS);
System.out.println(currentTime);
mapBasedStatisticsCache.setCurrentTime(currentTime);
之后,我以纳秒为单位计算平均时间
public long getAveragePutTime() {
return getCurrentTime() / getPutCounter();
}
然后如何将 getAveragePutTime 方法的结果解析为 hh: mm: ss: ms 格式?
我正在尝试这样做:
public String getAveragePutTime() {
long result = getCurrentTime() / getPutCounter();
long hh = TimeUnit.NANOSECONDS.toHours(result);
long mm = TimeUnit.NANOSECONDS.toMinutes(result);
long ss = TimeUnit.NANOSECONDS.toSeconds(result);
long ms = TimeUnit.NANOSECONDS.toMillis(result);
return "Hours: " + hh + " minutes: " + mm + " seconds: " + ss + " millisecond: " + ms;
}
但我有这个结果:
Nanos: 128240
Hours: 0 minutes: 0 seconds: 0 millisecond: 0
【问题讨论】:
-
计算不同的值?
-
这个问题可能重复吗? stackoverflow.com/questions/45061338/…