Best way to calculate elapsed time in Java using Java 8 Duration & Instant Class with Nanoseconds precision


Calculate elapsed time using Java 8 Instant and Duration Classes

If you are using Java 8 and above then you should definitely try out using java.time API for dealing with date and time. In order to find how much time has elapsed between an event A (start) and even B (end), you should make use of Instant and the Duration class to get the best results,

Example:

First we create an object that holds instant in time before we start,

Instant eventA = Instant.now() //Capture the instant in time before we start 

Now we have our logic that we want to test how much time it takes to execute (most of us will like to test algorithms like sorting)

for (int i=0;i<10;i++) {
  Thread.sleep(1000);
}

First we create an object that holds instant in time before we start,

Instant eventB = Instant.now() //Instant in time after completion our logic execution.

Now let's calculate the difference between these two events,

Duration timeElapsed = Duration.between(eventA,eventB);

Sample outputs of multiple runs,

PT10.037126S
PT10.038047S
PT10.036216S
PT10.031141S
PT10.032412S
PT10.032311S

Complete Code:
package org.code2care;

import java.time.Duration;
import java.time.Instant;

/**
 * Java Programs by Code2care.org
 */
public class Java8AddDaysToDate {

    public static void main(String[] args) throws InterruptedException {

        Instant eventA = Instant.now();
        for (int i = 0; i < 10; i++) {
            Thread.sleep(1000);
        }
        Instant eventB = Instant.now();
        Duration timeElapsed = Duration.between(eventA, eventB);
        System.out.println(timeElapsed);
    }
}
Advertisements
Try Out Code2care Dev Tools:

Advertisements



#Android #Java #Linux #Microsoft #Google #Python #MacOS #Notepad++ #Microsoft Teams #CSS #PHP #SharePoint #Html #Linux #C-Program #Bootstrap #jQuery #Sublime #Android-Studio #Facebook #Eclipse #WhatsApp #News #MySQL #Json #HowTos #JavaScript #FTP #S3


Advertisements


Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Tutorials, Trouble-Shooting steps, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.
🎉 We are celebrating the 10th years of Code2care! Thank you for all your support! We hope we made a difference.
We strong support Gender Equality & Diversity.

We stand in solidarity with Ukraine - Make a donation to UNHCR - https://donate.unhcr.org/in/en-in/ukraine-emergency