使用java.time API,可以使用以下语法比较两个日期:
date1.before(date2);
Run Code Online (Sandbox Code Playgroud)
要么
date2.after(date1);
Run Code Online (Sandbox Code Playgroud)
然而,当比较3个或更多日期时,这变得非常冗长.有没有办法比较Date和其他多个,看看提供的是在所有其他的之前/之后?
你要做的就是将日期与你的"3个或更多"日期中的一个进行比较:你只需计算出哪一个,然后比较两个日期.
自Date实现以来Comparable<Date>,您可以使用Collections.min和Collections.max查找最早和最新的:
Date earliest = Collections.min(Arrays.asList(date1, date2, date3));
Date latest = Collections.max(Arrays.asList(date1, date2, date3));
Run Code Online (Sandbox Code Playgroud)
然后:
boolean beforeEarliest = date.before(earliest);
boolean afterLatest = date.after(latest);
Run Code Online (Sandbox Code Playgroud)
等等