Итак, у меня есть созданная мной функция под названием isDateOverlapping
. Он принимает (всех типов LocalDate
):
- Дата начала 1
- Дата окончания 1
- Дата начала 2
- Дата окончания 2
Эта функция сообщает мне, перекрываются ли 2 периода даты или нет.
Например, если у меня есть 1 период с 2019-06-15 to 2019-06-18
и другой период с 2019-06-15 to 2019-06-12
. Он вернет истину, потому что 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;
}