Close

Java Date Time - Duration.minus() Examples

Java Date Time Java Java API 


Class:

java.time.Duration

java.lang.Objectjava.lang.Objectjava.time.Durationjava.time.Durationjava.time.temporal.TemporalAmountTemporalAmountjava.lang.ComparableComparablejava.io.SerializableSerializableLogicBig

Methods:

public Duration minus(Duration duration)

Returns a copy of this duration with the specified duration subtracted.


public Duration minus(long amountToSubtract,
                      TemporalUnit unit)

This method returns a copy of this Duration, subtracted by the provided amount per provided TemporalUnit.

Examples


package com.logicbig.example.duration;

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;

public class MinusExample {

public static void main(String... args) {
Duration d = Duration.between(LocalDate.now().atStartOfDay(), LocalDateTime.now());
System.out.println(d);

Duration d2 = Duration.ofDays(200);
System.out.println(d2);

Duration d3 = d.minus(d2);
System.out.println(d3);
}
}

Output

PT15H59M12.127S
PT4800H
PT-4784H-47.873S




package com.logicbig.example.duration;

import java.time.DateTimeException;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class MinusExample2 {

public static void main(String... args) {
Duration d = Duration.between(LocalDate.now().atStartOfDay(), LocalDateTime.now());
System.out.println(d);

for (ChronoUnit chronoUnit : ChronoUnit.values()) {
try {
Duration d2 = d.minus(4, chronoUnit);
System.out.printf("%10s: %s%n", chronoUnit.name(), d2);
} catch (DateTimeException e) {
System.out.printf("%10s: not supported%n", chronoUnit.name());
}
}
}
}

Output

PT15H59M14.18S
NANOS: PT15H59M14.179999996S
MICROS: PT15H59M14.179996S
MILLIS: PT15H59M14.176S
SECONDS: PT15H59M10.18S
MINUTES: PT15H55M14.18S
HOURS: PT11H59M14.18S
HALF_DAYS: PT-32H-45.82S
DAYS: PT-80H-45.82S
WEEKS: not supported
MONTHS: not supported
YEARS: not supported
DECADES: not supported
CENTURIES: not supported
MILLENNIA: not supported
ERAS: not supported
FOREVER: not supported




package com.logicbig.example.duration;

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.TemporalUnit;

public class MinusExample3 {

public static void main(String... args) {
Duration d = Duration.between(LocalDate.now().atStartOfDay(), LocalDateTime.now());
System.out.println(d);

for (TemporalUnit unit : d.getUnits()) {
Duration d2 = d.minus(4, unit);
System.out.printf("%10s: %s%n", unit, d2);
}
}
}

Output

PT15H59M16.284S
Seconds: PT15H59M12.284S
Nanos: PT15H59M16.283999996S




See Also