From f2cde9a860ac0fb8b6a8571551e15535280a8bf2 Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 17 Jul 2022 00:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0TemporalAccessorUtil.isIn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../hutool/core/date/TemporalAccessorUtil.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c89a5e7b0..f7d1a7a80 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +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) * ### 🐞Bug修复 * 【core 】 修复CollUtil里面关于可变参数传null造成的crash问题(pr#2428@Github) diff --git a/hutool-core/src/main/java/cn/hutool/core/date/TemporalAccessorUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/TemporalAccessorUtil.java index 067164e0d..ae3975aa4 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/TemporalAccessorUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/TemporalAccessorUtil.java @@ -162,4 +162,22 @@ public class TemporalAccessorUtil extends TemporalUtil{ return result; } + + /** + * 当前日期是否在日期指定范围内
+ * 起始日期和结束日期可以互换 + * + * @param date 被检查的日期 + * @param beginDate 起始日期(包含) + * @param endDate 结束日期(包含) + * @return 是否在范围内 + * @since 5.8.5 + */ + public static boolean isIn(TemporalAccessor date, TemporalAccessor beginDate, TemporalAccessor endDate){ + final long thisMills = toEpochMilli(date); + final long beginMills = toEpochMilli(beginDate); + final long endMills = toEpochMilli(endDate); + + return thisMills >= Math.min(beginMills, endMills) && thisMills <= Math.max(beginMills, endMills); + } }