Java中如何判断两个Date时间段是否存在交集?

2026-04-20 00:171阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计314个文字,预计阅读时间需要2分钟。

Java中如何判断两个Date时间段是否存在交集?

场景+两个时间段,判断是否存在交集。思想:找到两个时间段开始时间的最大值和结束时间的最小值。如果开始时间的最大值小于等于结束时间的最小值,则说明这两个时间段有交集。

场景

两个时间段,判断是否有交集。

Java中如何判断两个Date时间段是否存在交集?

思想是:

找到两个时间段开始时间的最大值和结束时间的最小值。

如果开始时间的最大值小于等于结束时间的最小值则说明这两个时间段有交集。

注:

​​ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。

实现

/*** * * @param startDateOne 第一个时间段的开始时间 * @param endDateOne 第一个时间段的结束时间 * @param startDateTwo 第二个时间段的开始时间 * @param endDateTwo 第二个时间段的结束时间 * @return */ public static Boolean IsInterSection(Date startDateOne,Date endDateOne,Date startDateTwo,Date endDateTwo) { Date maxStartDate = startDateOne; if(maxStartDate.before(startDateTwo)) { maxStartDate = startDateTwo; } Date minEndDate = endDateOne; if(endDateTwo.before(minEndDate)) { minEndDate = endDateTwo; } if(maxStartDate.before(minEndDate) || (maxStartDate.getTime() == minEndDate.getTime())) { return true; } else { return false; } }

本文共计314个文字,预计阅读时间需要2分钟。

Java中如何判断两个Date时间段是否存在交集?

场景+两个时间段,判断是否存在交集。思想:找到两个时间段开始时间的最大值和结束时间的最小值。如果开始时间的最大值小于等于结束时间的最小值,则说明这两个时间段有交集。

场景

两个时间段,判断是否有交集。

Java中如何判断两个Date时间段是否存在交集?

思想是:

找到两个时间段开始时间的最大值和结束时间的最小值。

如果开始时间的最大值小于等于结束时间的最小值则说明这两个时间段有交集。

注:

​​ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。

实现

/*** * * @param startDateOne 第一个时间段的开始时间 * @param endDateOne 第一个时间段的结束时间 * @param startDateTwo 第二个时间段的开始时间 * @param endDateTwo 第二个时间段的结束时间 * @return */ public static Boolean IsInterSection(Date startDateOne,Date endDateOne,Date startDateTwo,Date endDateTwo) { Date maxStartDate = startDateOne; if(maxStartDate.before(startDateTwo)) { maxStartDate = startDateTwo; } Date minEndDate = endDateOne; if(endDateTwo.before(minEndDate)) { minEndDate = endDateTwo; } if(maxStartDate.before(minEndDate) || (maxStartDate.getTime() == minEndDate.getTime())) { return true; } else { return false; } }