What is DurationFormatUtils.formatDurationISO() in Java?

The formatDurationISO() method

formatDurationISO() is a staticThe methods in Java that can be called without creating an object of the class. method of the DurationFormatUtils class that is used to convert the time gap in milliseconds to ISO 8601 period format.

How to import DurationFormatUtils

The definition of DurationFormatUtils can be found in the Apache Commons Lang package, which we can add to the Maven project by adding the following dependency to the pom.xml file.


<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
</dependency>

For other versions of the commons-lang package, refer to the Maven Repository.

You can import the DurationFormatUtils class as follows.


import org.apache.commons.lang3.time.DurationFormatUtils;

Syntax


public static String formatDurationISO(final long durationMillis)

Parameters

  • final long durationMillis: The time gap in milliseconds to format.

Return value

This method returns the formatted duration.

Code

The code below shows how the formatDurationISO() works in Java.

import org.apache.commons.lang3.time.DurationFormatUtils;
public class Main{
public static void main(String[] args) {
// Example 1
long durationMillis = 1234542;
System.out.printf("DurationFormatUtils.formatDurationISO(%s) = %s", durationMillis, DurationFormatUtils.formatDurationISO(durationMillis));
System.out.println();
// Example 2
durationMillis = 0;
System.out.printf("DurationFormatUtils.formatDurationISO(%s) = %s", durationMillis, DurationFormatUtils.formatDurationISO(durationMillis));
System.out.println();
}
}

Output

The output of the code will be as follows:


DurationFormatUtils.formatDurationISO(1234542) = P0Y0M0DT0H20M34.542S
DurationFormatUtils.formatDurationISO(0) = P0Y0M0DT0H0M0.000S

Explanation

Example 1

  • duration in milliseconds - 1234542

The method returns P0Y0M0DT0H20M34.542S, i.e., the formatted duration in milliseconds to ISO 8601 period format.

Example 2

  • start milliseconds - 0
  • end milliseconds - 12321

The method returns P0Y0M0DT0H0M12.321S, i.e., the formatted duration in milliseconds to ISO 8601 period format.

Free Resources