小编Joe*_*Yue的帖子

如何检查一个日期时间段是否与另一个日期时间段重叠

所以我创建了一个名为isDateOverlapping. 它接受(所有类型LocalDate):

  • 开始日期 1
  • 结束日期 1
  • 开始日期 2
  • 结束日期 2

这个函数的作用是告诉我 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)

java time if-statement boolean localdate

1
推荐指数
1
解决办法
728
查看次数

标签 统计

boolean ×1

if-statement ×1

java ×1

localdate ×1

time ×1