Close

Java Date Time - Instant.until() Examples

Java Date Time Java Java API 


Class:

java.time.Instant

java.lang.Objectjava.lang.Objectjava.time.Instantjava.time.Instantjava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.lang.ComparableComparablejava.io.SerializableSerializableLogicBig

Method:

public long until(Temporal endExclusive,
                  TemporalUnit unit)
Calculates the amount of time until another instant in terms of the specified unit.

Examples


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




See Also