/**
* 判断时间段是否交叉
* @param effectTime 输入的生效时间
* @param invalidTime 输入的失效时间
* @param effectTime1 查询出的生效时间
* @param invalidTime1 查询出的失效时间
* @return
*/
public static boolean compareTime(String effectTime, String invalidTime,
String effectTime1, String invalidTime1) {
// 失效时间为空时,默认是无期限
if (StringUtils.isBlank(invalidTime)) {
invalidTime = "2999-01-01";
}
if (StringUtils.isBlank(invalidTime1)) {
invalidTime1 = "2999-01-01";
}
long startTime = 0;
long endTime = 0;
long startTime1 = 0;
long endTime1 = 0;
try {
startTime = new SimpleDateFormat(PATTERN_SIMPLE).parse(effectTime).getTime();
endTime = new SimpleDateFormat(PATTERN_SIMPLE).parse(invalidTime).getTime();
startTime1 = new SimpleDateFormat(PATTERN_SIMPLE).parse(effectTime1).getTime();
endTime1 = new SimpleDateFormat(PATTERN_SIMPLE).parse(invalidTime1).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
/* 24 25
* 开始--------结束
* 23 24
* 开始1-------结束1
* */
if (startTime1 <= startTime && startTime < endTime1) {
return true;
}else if(startTime1 >= startTime && startTime1 < endTime ){
/* 4 5
* 开始--------结束
* 5 6
* 开始1-------结束1
* */
return true;
}
return false;
}
12-29
8579
02-13
3889