mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
增加TemporalAccessorUtil.isIn、LocalDateTimeUtil.isIn
This commit is contained in:
parent
f2cde9a860
commit
eb9df251d5
@ -18,7 +18,7 @@
|
||||
* 【http 】 优化HttpUtil.isHttp判断,避免NPE(pr#698@Gitee)
|
||||
* 【core 】 修复Dict#containsKey方法没区分大小写问题(pr#697@Gitee)
|
||||
* 【core 】 增加比较两个LocalDateTime是否为同一天(pr#693@Gitee)
|
||||
* 【core 】 增加TemporalAccessorUtil.isIn(issue#I5HBL0@Gitee)
|
||||
* 【core 】 增加TemporalAccessorUtil.isIn、LocalDateTimeUtil.isIn(issue#I5HBL0@Gitee)
|
||||
*
|
||||
### 🐞Bug修复
|
||||
* 【core 】 修复CollUtil里面关于可变参数传null造成的crash问题(pr#2428@Github)
|
||||
|
@ -171,6 +171,8 @@ public class LocalDateTimeUtil {
|
||||
return ((LocalDate) temporalAccessor).atStartOfDay();
|
||||
} else if(temporalAccessor instanceof Instant){
|
||||
return LocalDateTime.ofInstant((Instant) temporalAccessor, ZoneId.systemDefault());
|
||||
} else if(temporalAccessor instanceof ZonedDateTime){
|
||||
return ((ZonedDateTime)temporalAccessor).toLocalDateTime();
|
||||
}
|
||||
|
||||
return LocalDateTime.of(
|
||||
@ -595,4 +597,18 @@ public class LocalDateTimeUtil {
|
||||
public static boolean isSameDay(final LocalDate date1, final LocalDate date2) {
|
||||
return date1 != null && date2 != null && date1.isEqual(date2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前日期是否在日期指定范围内<br>
|
||||
* 起始日期和结束日期可以互换
|
||||
*
|
||||
* @param date 被检查的日期
|
||||
* @param beginDate 起始日期(包含)
|
||||
* @param endDate 结束日期(包含)
|
||||
* @return 是否在范围内
|
||||
* @since 5.8.5
|
||||
*/
|
||||
public static boolean isIn(ChronoLocalDateTime<?> date, ChronoLocalDateTime<?> beginDate, ChronoLocalDateTime<?> endDate){
|
||||
return TemporalAccessorUtil.isIn(date, beginDate, endDate);
|
||||
}
|
||||
}
|
||||
|
@ -31,4 +31,16 @@ public class TemporalAccessorUtilTest {
|
||||
LocalDate.of(2021, 6, 26), "#SSS");
|
||||
Assert.assertEquals("1624636800000", today2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isInTest(){
|
||||
final String sourceStr = "2022-04-19 00:00:00";
|
||||
final String startTimeStr = "2022-04-19 00:00:00";
|
||||
final String endTimeStr = "2022-04-19 23:59:59";
|
||||
final boolean between = TemporalAccessorUtil.isIn(
|
||||
LocalDateTimeUtil.parse(sourceStr, DatePattern.NORM_DATETIME_FORMATTER),
|
||||
LocalDateTimeUtil.parse(startTimeStr, DatePattern.NORM_DATETIME_FORMATTER),
|
||||
LocalDateTimeUtil.parse(endTimeStr, DatePattern.NORM_DATETIME_FORMATTER));
|
||||
Assert.assertTrue(between);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user