Open In App

How to Format Seconds in Java?

Last Updated : 08 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In Java, when working with time-related data, we may need to format seconds to make it a more human-readable representation. In this article, we will see how to format seconds in Java.

Example of

Input: long seconds = 3665;
Output: Formatted Time: 1 hour, 1 minute and 5 seconds

Syntax

The formatting can be achieved using Duration and Period classes from java.time package introduced in Java 8.

String formattedTime = Duration.ofSeconds(seconds)
.toString()
.substring(2)
.replaceAll("(\\d[HMS])(?!$)", "$1 ")
.toLowerCase();

Program to Format Seconds in Java

Below is the implementation of Format Seconds in Java:

Java




// Java program to format seconds 
import java.io.*;
import java.time.Duration;
  
public class GFG {
    // method to format seconds into HH:MM:SS
    public static String Seconds(long seconds) {
        // convert seconds to Duration object and format it
        return Duration.ofSeconds(seconds)
                .toString()                    // convert to string
                .substring(2)                  // remove "PT" prefix
                .replaceAll("(\\d[HMS])(?!$)", "$1 "// add space between values
                .toLowerCase();               // convert to lowercase
    }
      
    public static void main(String[] args) {
        // test the Seconds method
        long seconds = 3665;
        String formattedTime = Seconds(seconds);
        System.out.println("Formatted Time: " + formattedTime);
    }
}


Output

Formatted Time: 1h 1m 5s

Explanation of the Program:

In the above program,

  • Duration.ofSeconds(seconds): Creates a Duration object representing the given duration in the seconds.
  • toString(): Converts the Duration object to its string representation.
  • substring(2): The Removes the leading “PT” (Period of Time) from string.
  • replaceAll(“(\d[HMS])(?!$)”, “$1 “): Adds a space between the numeric value and unit (H, M or S) to improve readability.
  • toLowerCase(): Converts the string to lowercase for the consistent format.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads