java - Java中有秒表吗?

标签 java stopwatch milliseconds

Java 中有秒表吗?
在 Google 上,我只找到了不起作用的秒表代码 - 它们总是返回 0 毫秒。

我发现的这段代码不起作用,我不明白为什么。

public class StopWatch {
  
  private long startTime = 0;
  private long stopTime = 0;
  private boolean running = false;
  
  
  public void start() {
    this.startTime = System.currentTimeMillis();
    this.running = true;
  }
  
  
  public void stop() {
    this.stopTime = System.currentTimeMillis();
    this.running = false;
  }
  
  
  //elaspsed time in milliseconds
  public long getElapsedTime() {
    long elapsed;
    if (running) {
      elapsed = (System.currentTimeMillis() - startTime);
    } else {
      elapsed = (stopTime - startTime);
    }
    return elapsed;
  }
  
  
  //elaspsed time in seconds
  public long getElapsedTimeSecs() {
    long elapsed;
    if (running) {
      elapsed = ((System.currentTimeMillis() - startTime) / 1000);
    } else {
      elapsed = ((stopTime - startTime) / 1000);
    }
    return elapsed;
  }
}

最佳答案

你会发现一个

http://commons.apache.org/lang/

org.apache.commons.lang.time.StopWatch

但它与您的大致相同。如果您想要更精确,请使用

System.nanoTime()

在这里也可以看到这个问题:

Time measuring overhead in Java

关于java - Java中有秒表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8255738/

相关文章:

java - 以毫秒为单位的自定义日期和时间字符串

javascript - 有一个可以计算秒和毫秒的计时器

java - Magnolia CMS,迭代不同区域的组件

logging - 使用属性(.net core)测量方法执行时间

c# - 使用 StopWatch 类进行性能测试的辅助类

c# - 找不到对 System.Diagnostics.Stopwatch 的引用

linux - 在 Linux 中按时间戳排序文件直到毫秒

java - 将github android源码导入到eclipse

java - java中的继承和数组列表

java - String.compareIgnoreCase 返回错误的结果