public class Hello {
/**
* 判断时间段是否有交集
*
* @param start1
* 时间段一的开始
* @param end1
* 时间段一的开始
* @param start2
* 时间段一的开始
* @param end2
* 时间段一的开始
* @return 是否有交集 true : 相交 false : 不相交
*/
public boolean hasInter(Date start1, Date end1, Date start2, Date end2) {
checkNull(start1);
checkNull(end1);
checkNull(start2);
checkNull(end2);
if (start1.compareTo(start2) < 0 && start2.compareTo(end1) < 0) {
return true;
}
if (start1.compareTo(end2) < 0 && end2.compareTo(end1) < 0) {
return true;
}
if (start2.compareTo(start1) < 0 && end1.compareTo(end2) < 0) {
return true;
}
return false;
}
/**
* 判断时间段是否有交集
*
* @param start1
* 时间段一的开始
* @param end1
* 时间段一的开始
* @param start2
* 时间段一的开始
* @param end2
* 时间段一的开始
* @return 是否有交集 true : 相交 false : 不相交
*/
public boolean hasInter(Date start1, Date end1, Date start2, Date end2) {
checkNull(start1);
checkNull(end1);
checkNull(start2);
checkNull(end2);
if (start1.compareTo(start2) < 0 && start2.compareTo(end1) < 0) {
return true;
}
if (start1.compareTo(end2) < 0 && end2.compareTo(end1) < 0) {
return true;
}
if (start2.compareTo(start1) < 0 && end1.compareTo(end2) < 0) {
return true;
}
return false;
}