Search code examples
javatimetimerclock

How do I calculate the elapsed time of an event in Java?


What's a simple/easy way to access the system clock using Java, so that I can calculate the elapsed time of an event?


Solution

  • I would avoid using System.currentTimeMillis() for measuring elapsed time. currentTimeMillis() returns the 'wall-clock' time, which may change (eg: daylight savings, admin user changing the clock) and skew your interval measurements.

    System.nanoTime(), on the other hand, returns the number of nanoseconds since 'some reference point' (eg, JVM start up), and would therefore not be susceptible to system clock changes.