Open In App

java.time.Duration Class in Java

Last Updated : 24 Jan, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Duration is the value-based Class present in the Java time library. It’s used to get time-based amount of time. This class is immutable and thread-safe. This article describes all the methods present in this class and some basic examples using class methods. 

This class implements Serializable, Comparable<Duration>, TemporalAmount interfaces.

Field present in Class:

Field Description
static Duration It is a constant for zero duration.

Methods present in Class:

Method Description
abs()  This method returns positive copy of length
addTo(Temporal temporal) This method adds this duration to the specified temporal object.
Duration between(Temporal startInclusive, Temporal endExclusive) This method finds the duration between two Temporal objects.
compareTo(Duration otherDuration) This method compares this duration to the specified Duration.
dividedBy(long divisor) This method returns a copy of this duration divided by the specified value.
equals(Object otherDuration) This method checks if this duration is equal to the specified Duration.
from(TemporalAmount amount) This method obtains an instance of Duration from a temporal amount.
get(TemporalUnit unit) This method gets the value of the requested unit.
getNano() This method gets the number of nanoseconds within the second in this duration.
getSeconds() This method gets the number of seconds in this duration.
getUnits() This method gets the set of units supported by this duration.
hashCode() A hash code for this duration.
isNegative() This method checks if this duration is negative, excluding zero.
isZero() This method checks if this duration is zero length.
minus(Duration duration) This method returns a copy of this duration with the specified duration subtracted.
minus(long amountToSubtract, TemporalUnit unit) This method returns a copy of this duration with the specified duration subtracted.
minusDays(long daysToSubtract) This method returns a copy of this duration with the specified duration in standard 24-hour days subtracted.
minusHours(long hoursToSubtract) This method returns a copy of this duration with the specified duration in hours subtracted.
minusMillis(long millisToSubtract) This method returns a copy of this duration with the specified duration in milliseconds subtracted.
minusMinutes(long minutesToSubtract) This method returns a copy of this duration with the specified duration in minutes subtracted.
minusNanos(long nanosToSubtract) This method returns a copy of this duration with the specified duration in nanoseconds subtracted.
minusSeconds(long secondsToSubtract) This method returns a copy of this duration with the specified duration in seconds subtracted.
multipliedBy(long multiplicand) This method returns a copy of this duration multiplied by the scalar.
negated() This method returns a copy of this duration with the length negated.
of(long amount, TemporalUnit unit) This method obtains a Duration representing an amount in the specified unit.
ofDays(long days) This method obtains a Duration representing a number of standard 24 hour days.
ofHours(long hours) This method obtains a Duration representing a number of standard hours.
ofMillis(long millis) This method obtains a Duration representing a number of milliseconds.
ofMinutes(long minutes) This method obtains a Duration representing a number of standard minutes.
ofNanos(long nanos) This method obtains a Duration representing a number of nanoseconds.
ofSeconds(long seconds) This method obtains a Duration representing a number of seconds.
ofSeconds(long seconds, long nanoAdjustment) This method obtains a Duration representing a number of seconds and an adjustment in nanoseconds.
parse(CharSequence text) This method obtains a Duration from a text string such as PnDTnHnMn.nS.
plus(Duration duration) This method returns a copy of this duration with the specified duration added.
plus(long amountToAdd, TemporalUnit unit) This method returns a copy of this duration with the specified duration added.
plusDays(long daysToAdd) This method returns a copy of this duration with the specified duration in standard 24 hour days added.
plusHours(long hoursToAdd) This method returns a copy of this duration with the specified duration in hours added.
plusMillis(long millisToAdd) This method returns a copy of this duration with the specified duration in milliseconds added.
plusMinutes(long minutesToAdd) This method returns a copy of this duration with the specified duration in minutes added.
plusNanos(long nanosToAdd) This method returns a copy of this duration with the specified duration in nanoseconds added.
plusSeconds(long secondsToAdd) This method returns a copy of this duration with the specified duration in seconds added.
subtractFrom(Temporal temporal) This method subtracts this duration from the specified temporal object.
toDays() This method gets the number of days in this duration.
toHours() This method gets the number of hours in this duration.
toMillis() This method converts this duration to the total length in milliseconds.
toMinutes() This method gets the number of minutes in this duration.
toNanos() This method converts this duration to the total length in nanoseconds expressed as a long.
toString() A string representation of this duration using ISO-8601 seconds based representation, such as PT8H6M12.345S.
withNanos(int nanoOfSecond) This method returns a copy of this duration with the specified nano-of-second.
withSeconds(long seconds) This method returns a copy of this duration with the specified amount of seconds.

Example 1: This example illustrates simple use of Duration class.

Java




// Importing required classes
import java.time.Duration;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
 
public class GFG {
   public static void main(String[] args) {
       
      // Initializing Duration variable
      Duration duration = Duration.between(LocalTime.NOON,LocalTime.MIDNIGHT); 
       
      // Printing difference between time in seconds
      System.out.println(duration.get(ChronoUnit.SECONDS));   
       
      // Finding absolute difference
      Duration absDuration = duration.abs();
       
      // Printing absolute time difference in seconds
      System.out.println(absDuration.get(ChronoUnit.SECONDS));   
   }
}


Output

-43200
43200

Example 2: 

Java




// Importing required classes
import java.time.Duration;
import java.time.temporal.ChronoUnit;
 
public class GFG {
   public static void main(String[] args) {
       
      // Getting duration in an hour
      Duration duration = Duration.from(ChronoUnit.HOURS.getDuration());
       
      // Printing duration in minutes
      System.out.println(duration.toMinutes());
   }
}


Output: 

60

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads