所以我创建了一个名为isDateOverlapping. 它接受(所有类型LocalDate):
这个函数的作用是告诉我 2 个日期周期是否重叠。
例如,如果我有 1 个时期2019-06-15 to 2019-06-18和另一个时期来自2019-06-15 to 2019-06-12. 它将返回 true,因为 2 个日期时间段重叠。
但是我的函数似乎并不总是返回正确的答案。能否请你帮忙。
public boolean isDateOverlapping(LocalDate start1, LocalDate end1, LocalDate start2, LocalDate end2) {
if (start1.isAfter(start2) && start2.isBefore(start1)) {
return true;
} else if (end1.isBefore(end2) && start1.isAfter(start2)) {
return true;
} else if (start1.isAfter(end1) && end2.isBefore(start2)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)