У меня есть два экземпляра класса Instant
из java.time
, например:
Instant instant1 = Instant.now();
Instant instant2 = Instant.now().plus(5, ChronoUnit.HOURS);
Теперь я хотел бы проверить, действительно ли два экземпляра Instant
на одной и той же дате (совпадение день, месяц и год). Я просто подумал, что просто используйте блестящий новый LocalDate
и универсальный статический метод from
:
LocalDate localdate1 = LocalDate.from(instant1);
LocalDate localdate2 = LocalDate.from(instant2);
if (localdate1.equals(localdate2)) {
// All the awesome
}
За исключением того, что универсальный метод from
не является настолько универсальным, и Java жалуется во время выполнения с исключением:
java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: 2014-11-04T18:18:12Z of type java.time.Instant
Который оставляет меня на квадрате 1.
Каков рекомендуемый/самый быстрый способ проверить, имеют ли два экземпляра Instant
одну и ту же дату (имеют один и тот же день, месяц и год)?