mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-05 21:28:00 +08:00
校验时间比较方法的入参合法性
This commit is contained in:
parent
5d148eb2e3
commit
b906cad408
@ -472,6 +472,14 @@ public class LocalDateTimeUtil {
|
|||||||
*/
|
*/
|
||||||
public static boolean isBetween(LocalDateTime time, LocalDateTime start, LocalDateTime end,
|
public static boolean isBetween(LocalDateTime time, LocalDateTime start, LocalDateTime end,
|
||||||
boolean isIncludeStart, boolean isIncludeEnd) {
|
boolean isIncludeStart, boolean isIncludeEnd) {
|
||||||
|
if (time == null || start == null || end == null) {
|
||||||
|
throw new IllegalArgumentException("时间参数不可为null");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(end.isBefore(start)){
|
||||||
|
throw new IllegalArgumentException("结束时间应大于等于开始时间");
|
||||||
|
}
|
||||||
|
|
||||||
// 先判断是否满足 time ∈ (start, end)
|
// 先判断是否满足 time ∈ (start, end)
|
||||||
boolean isBetween = time.isAfter(start) && time.isBefore(end);
|
boolean isBetween = time.isAfter(start) && time.isBefore(end);
|
||||||
|
|
||||||
|
@ -164,6 +164,12 @@ public class LocalDateTimeUtilTest {
|
|||||||
Assert.assertFalse(LocalDateTimeUtil.isBetween(start, start, end, false, false));
|
Assert.assertFalse(LocalDateTimeUtil.isBetween(start, start, end, false, false));
|
||||||
Assert.assertTrue(LocalDateTimeUtil.isBetween(end, start, end, false, true));
|
Assert.assertTrue(LocalDateTimeUtil.isBetween(end, start, end, false, true));
|
||||||
Assert.assertFalse(LocalDateTimeUtil.isBetween(end, start, end, false, false));
|
Assert.assertFalse(LocalDateTimeUtil.isBetween(end, start, end, false, false));
|
||||||
|
|
||||||
|
// 异常入参
|
||||||
|
Assert.assertThrows(IllegalArgumentException.class, ()->LocalDateTimeUtil.isBetween(null, start, end, false, false));
|
||||||
|
Assert.assertThrows(IllegalArgumentException.class, ()->LocalDateTimeUtil.isBetween(start, null, end, false, false));
|
||||||
|
Assert.assertThrows(IllegalArgumentException.class, ()->LocalDateTimeUtil.isBetween(start, start, null, false, false));
|
||||||
|
Assert.assertThrows(IllegalArgumentException.class, ()->LocalDateTimeUtil.isBetween(start, end, start, false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
Reference in New Issue
Block a user