java判断一个时间段是否包含另一个时间段
可以根据时间段的起始时间和结束时间来判断是否包含另一个时间段。
假设有两个时间段A和B,分别表示为A_start、A_end、B_start、B_end,其中A_start和A_end表示时间段A的起始时间和结束时间,B_start和B_end表示时间段B的起始时间和结束时间。
判断A是否包含B的方法如下:
- 如果B_start在A_start和A_end之间,且B_end在A_start和A_end之间,那么A包含B;
- 如果B_start在A_start之前,且B_end在A_end之后,那么A包含B;
- 如果B_start在A_start之前,但是B_end在A_start和A_end之间,那么A不包含B;
- 如果B_start在A_start和A_end之间,但是B_end在A_end之后,那么A不包含B;
- 如果B_start和B_end都在A_start和A_end之外,那么A不包含B。
根据上述方法,可以编写如下代码来判断时间段A是否包含时间段B:
public static boolean isContain(Date A_start, Date A_end, Date B_start, Date B_end) {
if (B_start.after(A_start) && B_end.before(A_end)) {
return true;
}
if (B_start.before(A_start) && B_end.after(A_end)) {
return true;
}
return false;
}
``
原文地址: https://www.cveoy.top/t/topic/haeP 著作权归作者所有。请勿转载和采集!