mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
commit
538200bdc3
@ -2196,7 +2196,8 @@ public class DateUtil extends CalendarUtil {
|
||||
*/
|
||||
public static boolean isOverlap(Date realStartTime, Date realEndTime,
|
||||
Date startTime, Date endTime) {
|
||||
return startTime.after(realEndTime) || endTime.before(realStartTime);
|
||||
|
||||
return startTime.before(realEndTime) && endTime.after(realStartTime);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------ Private method start
|
||||
|
@ -564,7 +564,7 @@ public class LocalDateTimeUtil {
|
||||
*/
|
||||
public static boolean isOverlap(ChronoLocalDateTime<?> realStartTime, ChronoLocalDateTime<?> realEndTime,
|
||||
ChronoLocalDateTime<?> startTime, ChronoLocalDateTime<?> endTime) {
|
||||
return startTime.isAfter(realEndTime) || endTime.isBefore(realStartTime);
|
||||
return startTime.isBefore(realEndTime) && endTime.isAfter(realStartTime);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1043,8 +1043,18 @@ public class DateUtilTest {
|
||||
DateTime realStartTime = DateUtil.parse("2022-01-01 11:49:10");
|
||||
DateTime realEndTime = DateUtil.parse("2022-01-01 12:00:10");
|
||||
|
||||
Assert.assertTrue(DateUtil.isOverlap(oneStartTime, oneEndTime, realStartTime, realEndTime));
|
||||
Assert.assertTrue(DateUtil.isOverlap(oneStartTime2, oneEndTime2, realStartTime, realEndTime));
|
||||
Assert.assertFalse(DateUtil.isOverlap(oneStartTime3, oneEndTime3, realStartTime, realEndTime));
|
||||
DateTime realStartTime1 = DateUtil.parse("2022-03-01 08:00:00");
|
||||
DateTime realEndTime1 = DateUtil.parse("2022-03-01 10:00:00");
|
||||
|
||||
DateTime startTime = DateUtil.parse("2022-03-23 05:00:00");
|
||||
DateTime endTime = DateUtil.parse("2022-03-23 13:00:00");
|
||||
|
||||
Assert.assertFalse(DateUtil.isOverlap(oneStartTime, oneEndTime, realStartTime, realEndTime));
|
||||
Assert.assertFalse(DateUtil.isOverlap(oneStartTime2, oneEndTime2, realStartTime, realEndTime));
|
||||
Assert.assertTrue(DateUtil.isOverlap(oneStartTime3, oneEndTime3, realStartTime, realEndTime));
|
||||
|
||||
Assert.assertFalse(DateUtil.isOverlap(realStartTime1,realEndTime1,startTime,endTime));
|
||||
Assert.assertFalse(DateUtil.isOverlap(startTime,endTime,realStartTime1,realEndTime1));
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.Date;
|
||||
|
||||
public class LocalDateTimeUtilTest {
|
||||
|
||||
@ -196,9 +197,18 @@ public class LocalDateTimeUtilTest {
|
||||
LocalDateTime realStartTime = LocalDateTime.of(2022, 1, 1, 11, 49, 10);
|
||||
LocalDateTime realEndTime = LocalDateTime.of(2022, 1, 1, 12, 0, 10);
|
||||
|
||||
Assert.assertTrue(LocalDateTimeUtil.isOverlap(oneStartTime,oneEndTime,realStartTime,realEndTime));
|
||||
Assert.assertTrue(LocalDateTimeUtil.isOverlap(oneStartTime2,oneEndTime2,realStartTime,realEndTime));
|
||||
Assert.assertFalse(LocalDateTimeUtil.isOverlap(oneStartTime3,oneEndTime3,realStartTime,realEndTime));
|
||||
LocalDateTime realStartTime1 = DateUtil.parseLocalDateTime("2022-03-01 08:00:00");
|
||||
LocalDateTime realEndTime1 = DateUtil.parseLocalDateTime("2022-03-01 10:00:00");
|
||||
|
||||
LocalDateTime startTime = DateUtil.parseLocalDateTime("2022-03-23 05:00:00");
|
||||
LocalDateTime endTime = DateUtil.parseLocalDateTime("2022-03-23 13:00:00");
|
||||
|
||||
Assert.assertFalse(LocalDateTimeUtil.isOverlap(oneStartTime,oneEndTime,realStartTime,realEndTime));
|
||||
Assert.assertFalse(LocalDateTimeUtil.isOverlap(oneStartTime2,oneEndTime2,realStartTime,realEndTime));
|
||||
Assert.assertTrue(LocalDateTimeUtil.isOverlap(oneStartTime3,oneEndTime3,realStartTime,realEndTime));
|
||||
|
||||
Assert.assertFalse(LocalDateTimeUtil.isOverlap(realStartTime1,realEndTime1,startTime,endTime));
|
||||
Assert.assertFalse(LocalDateTimeUtil.isOverlap(startTime,endTime,realStartTime1,realEndTime1));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user