This method returns a new instance of OffsetDateTime, subtracted by the provided amount per provided TemporalUnit.
package com.logicbig.example.offsetdatetime;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.Period;
import java.time.ZoneOffset;
public class MinusExample {
public static void main (String... args) {
OffsetDateTime d = OffsetDateTime.of(LocalDateTime.of(2011, 10, 3,
14, 30),
ZoneOffset.ofHours(-4));
System.out.println(d);
OffsetDateTime d2 = d.minus(Duration.ofDays(1000));
System.out.println(d2);
OffsetDateTime d3 = d.minus(Period.ofDays(-1000));
System.out.println(d3);
}
}
Output
2011-10-03T14:30-04:00
2009-01-06T14:30-04:00
2014-06-29T14:30-04:00
package com.logicbig.example.offsetdatetime;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.temporal.ChronoUnit;
public class MinusExample2 {
public static void main (String... args) {
OffsetDateTime d = OffsetDateTime.of(LocalDateTime.of(2011, 10, 3,
14, 30),
ZoneOffset.ofHours(-4));
System.out.println(d);
OffsetDateTime d2 = d.minus(10, ChronoUnit.YEARS);
System.out.println(d2);
d2 = d.minus(100, ChronoUnit.HOURS);
System.out.println(d2);
d2 = d.minus(200, ChronoUnit.WEEKS);
System.out.println(d2);
d2 = d.minus(2, ChronoUnit.CENTURIES);
System.out.println(d2);
d2 = d.minus(20000000, ChronoUnit.SECONDS);
System.out.println(d2);
d2 = d.minus(1, ChronoUnit.ERAS);
System.out.println(d2);
}
}
Output
2011-10-03T14:30-04:00
2001-10-03T14:30-04:00
2011-09-29T10:30-04:00
2007-12-03T14:30-04:00
1811-10-03T14:30-04:00
2011-02-14T02:56:40-04:00
-2010-10-03T14:30-04:00