检查 Java 8 中“即时”的两个实例是否在同一日期
我有两个即时
类的实例,如下所示:java.time
Instant instant1 = Instant.now();
Instant instant2 = Instant.now().plus(5, ChronoUnit.HOURS);
现在我想检查两个实例是否实际上在同一日期(日,月和年匹配)。我想,很简单,让我们只使用闪亮的新LocalDate
和通用的
静态方法:Instant
LocalDate localdate1 = LocalDate.from(instant1);
LocalDate localdate2 = LocalDate.from(instant2);
if (localdate1.equals(localdate2)) {
// All the awesome
}
除了通用方法不是那么通用,Java在运行时会抱怨,但有一个例外:from
java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: 2014-11-04T18:18:12Z of type java.time.Instant
这让我回到了原点1。
如果两个实例实际上具有相同的日期(具有相同的日,月和年),建议/最快的检查方法是什么?Instant