1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.its.common.utils;
- import java.util.concurrent.TimeUnit;
- public class Elapsed {
- private long sTime = 0;
- public Elapsed() {
- reset();
- }
- private long getElapsed() {
- return System.nanoTime() - sTime;
- }
- public long nanoSeconds() {
- return getElapsed();
- }
- public long milliSeconds() {
- return TimeUnit.MILLISECONDS.convert(getElapsed(), TimeUnit.NANOSECONDS);
- }
- public long seconds() {
- return TimeUnit.SECONDS.convert(getElapsed(), TimeUnit.NANOSECONDS);
- }
-
- public void reset() {
- sTime = System.nanoTime();
- }
- public static String elapsedTimeStr(long elapsed) {
- long seconds = TimeUnit.SECONDS.convert(elapsed, TimeUnit.NANOSECONDS);
- long miliSeconds = TimeUnit.MILLISECONDS.convert(elapsed, TimeUnit.NANOSECONDS) % 1000;
- long microSeconds = TimeUnit.MICROSECONDS.convert(elapsed, TimeUnit.NANOSECONDS) % 1000;
- long nanoSeconds = TimeUnit.NANOSECONDS.convert(elapsed, TimeUnit.NANOSECONDS) % 1000;
- if (seconds > 0) {
- return String.format("Elapsed: %,d sec. %3d ms. %3d us. %3d ns.", seconds, miliSeconds, microSeconds, nanoSeconds);
- }
- if (miliSeconds > 0) {
- return String.format("Elapsed: %3d ms. %3d us. %3d ns.", miliSeconds, microSeconds, nanoSeconds);
- }
- if (microSeconds > 0) {
- return String.format("Elapsed: --- ms. %3d us. %3d ns.", microSeconds, nanoSeconds);
- }
- return String.format("Elapsed: --- ms. --- us. %3d ns.", nanoSeconds);
- }
- }
|