java - 如何获得自上次拆分以来的最后一次时间间隔?

标签 java logging time split stopwatch

我想在程序开头运行秒表

并记录一些时间间隔的时间分割。

我应该选择哪种秒表?

import com.google.common.base.Stopwatch;

org.apache.commons.lang.time.StopWatch

例如:

Start -----> split 1 (1:00 min from split 0) ----> split 2 (0:30 from split 1) -->  split 3 (0:35 from split 2)

不是

Start -----> split 1 (1:00 min from start) ----> split 2 (1:30 from from start) ----> split 3 (2:05 from from start) 

还有比这更优雅的方式吗?

stopWatch.split();
stopWatch.getSplitTime() - lastSpiltTime;
last splitTime = stopWatch.getSplitTime();

最佳答案

不幸的是,这是唯一的方法。我有同样的需求,但 Apache StopWatch 没有对此的原生支持。

我的做法略有不同:

private void lapWatchAndLog( StopWatch watch, String messageForLap ) {

    watch.stop();
    LOGGER.info( String.format( "Time: [%s] %s", watch.getTime(), messageForLap ) );
    watch.reset();
    watch.start();
}

关于java - 如何获得自上次拆分以来的最后一次时间间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610008/

相关文章:

java - 应用程序条码扫描仪

python - 使用 WSGI 服务器和 flask 应用程序进行日志记录

python - 使用并行 python 时记录

java - 使用java的两个时间之间的时间差

Python 每 5 分钟执行一次操作

java - 应用程序无法启动,立即强制停止(代码如下)

java - 根据指定的条件执行 while 循环退出

java - 使用 Docker 和 Testcontainers 进行数据库集成测试

ruby-on-rails - 名称错误 : undefined local variable or method `logger'

c++ - 来自多个数据源的时间