try {
//方法一:System.currentTimeMillis()
long timeMillis1 = System.currentTimeMillis();
// TimeUnit
TimeUnit.SECONDS.sleep(1);
long timeMillis2 = System.currentTimeMillis();
log.info("System.currentTimeMillis()以秒计的时间差:" + (timeMillis2 - timeMillis1) / 1000);
//方法二:System.nanoTime()
long nanoTime1 = System.nanoTime();
TimeUnit.SECONDS.sleep(1);
long nanoTime2 = System.nanoTime();
log.info("System.nanoTime()以秒计的时间差:" + (nanoTime2 - nanoTime1) / 1000000000.0);
//方法三:new Date().getTime()
long startTime = new Date().getTime();
// 线程睡眠
Thread.sleep(1000);
long endTime = new Date().getTime();
log.info("Date以秒计的时间差:" + (endTime - startTime) / 1000);
//方法四:Instant.now()
Instant inst1 = Instant.now();
TimeUnit.SECONDS.sleep(1);
Instant inst2 = Instant.now();
log.info("Instant以秒计的时间差:" + Duration.between(inst1, inst2).getSeconds());
// 方法五:new StopWatch()
StopWatch stopWatch = new StopWatch();
stopWatch.start();
Thread.sleep(1000);
stopWatch.stop();
log.info("StopWatch以秒计的时间差:" + stopWatch.getTime() / 1000);
// 方法六:new StopWatch()
org.springframework.util.StopWatch watch = new org.springframework.util.StopWatch();
watch.start("watcher");
Thread.sleep(2000);
watch.stop();
log.info("StopWatch以秒计的时间差:" + watch.prettyPrint());
} catch (InterruptedException e) {
System.err.format("IOException: %s%n", e);
}
Java时间差
于 2022-12-23 16:56:58 首次发布