作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我不确定我的标题是否正确,但这是我正在努力实现的目标。考虑以下两个类,AbsentPeriod、UnavailablePeriod。
class AbsentPeriod
{
Date startDate;
Date endDate;
}
class UnavailablePeriod
{
Date startDate;
Date endDate;
}
给定
Date StartDate // starting point
Date EndDate //ending point
List<AbsentPeriod> absentperiods
List<UnavailablePeriods> unavailablePeriods
寻找
List<AvailablePeriod>
开始日期和结束日期的日期不与缺席和不可用期间的日期重叠;在给定的 StartDate 和 endDate 之间
class AvailablePeriod
{
Date startDate;
Date endDate;
}
最佳答案
您可以遍历 AbsentPeriod
和 UnavailablePeriod
的列表,使用以下函数检查日期是否重叠,如果不重叠则将其添加到结果列表中:
public static boolean dateRangeOverlap(Date givenStartDate, Date givenEndDate, Date listItemStartDate, Date listItemEndDate)
{
boolean result = false;
if (givenStartDate !=null && givenEndDate !=null && listItemStartDate !=null && listItemEndDate != null){
result = (givenStartDate.getTime() <= listItemEndDate.getTime()) && (givenEndDate.getTime() >= listItemStartDate.getTime());
}
return result;
}
关于java - 给定两个日期范围列表,如何在 java 中找到不重叠的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51146317/
我是一名优秀的程序员,十分优秀!