【发布时间】:2013-06-10 23:53:45
【问题描述】:
如何检查一个时间段是否与同一天的另一个时间段重叠。
例如,
- 7:00AM 到 10:30AM 与 10:00AM 到 11:30AM 重叠
- 7:00AM 到 10:30AM 与 8:00AM 到 9:00AM 重叠
- 7:00AM 到 10:30AM 与 5:00AM 到 8:00AM 重叠
【问题讨论】:
-
我们需要更多详细信息 - 这在某种程度上取决于您存储时间段的方式。是
java.time.Period吗?一般来说,检查两个时间段是否重叠很简单 - 比较每个时间段的开始时间和结束时间。 -
我没有存储我的时间段。我想找到重叠时间。例如(上午 7:00 到上午 10:30 与上午 10:00 到上午 11:30 重叠)这次是重叠的。像这样我有五十对时间。所以我想用另一对来验证每一对。
-
当我说“你如何存储它”时,我的意思是数据类型是什么?它会影响可能的答案(正如有远见的人在他的回答中提到的那样,如果您使用的是 Joda time,则已经提供了此功能)。就我们所知,句点可能是文本字符串“7:00am to 10:30am”,需要解析。或者可以将时间存储为 Java 日期。或 0.0 的浮点值等于 1970-01-01 00:00 纪元。