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

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
PT23H59M0.894S
PT4800H
PT-4776H-1M0.894S

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
PT23H59M7.116S
NANOS: PT23H59M7.115999996S
MICROS: PT23H59M7.115996S
MILLIS: PT23H59M7.112S
SECONDS: PT23H59M3.116S
MINUTES: PT23H55M7.116S
HOURS: PT19H59M7.116S
HALF_DAYS: PT-24H-52.884S
DAYS: PT-72H-52.884S
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
PT23H59M11.373S
Seconds: PT23H59M7.373S
Nanos: PT23H59M11.372999996S