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

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.

Leave a Comment