package com.logicbig.example.instant;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;
import java.time.temporal.Temporal;
public class UntilExample {
public static void main(String... args) {
Instant i = Instant.parse("2010-12-03T10:15:30.00Z");
System.out.println(i);
until(i, OffsetDateTime.now());
until(i, ZonedDateTime.now());
until(i, Instant.now());
}
private static void until(Instant i, Temporal temporal) {
System.out.printf("--Temporal: %s > %s%n",
temporal.getClass().getSimpleName(), temporal);
for (ChronoUnit unit : ChronoUnit.values()) {
try {
long l = i.until(temporal, unit);
System.out.printf("%10s > %s%n", unit, l);
} catch (Exception e) {
//ignore unsupported units
}
}
}
}
Output
2010-12-03T10:15:30Z
--Temporal: OffsetDateTime > 2017-05-01T15:57:01.731-05:00
Nanos > 202300891731000000
Micros > 202300891731000
Millis > 202300891731
Seconds > 202300891
Minutes > 3371681
Hours > 56194
HalfDays > 4682
Days > 2341
--Temporal: ZonedDateTime > 2017-05-01T15:57:01.736-05:00[America/Chicago]
Nanos > 202300891736000000
Micros > 202300891736000
Millis > 202300891736
Seconds > 202300891
Minutes > 3371681
Hours > 56194
HalfDays > 4682
Days > 2341
--Temporal: Instant > 2017-05-01T20:57:01.736Z
Nanos > 202300891736000000
Micros > 202300891736000
Millis > 202300891736
Seconds > 202300891
Minutes > 3371681
Hours > 56194
HalfDays > 4682
Days > 2341