diff --git a/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java index 6f0e4e268..dc0a1266d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/CalendarUtil.java @@ -289,6 +289,21 @@ public class CalendarUtil { cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA); } + /** + * 比较两个日期是否为同一月 + * + * @param cal1 日期1 + * @param cal2 日期2 + * @return 是否为同一月 + */ + public static boolean isSameMonth(Calendar cal1, Calendar cal2) { + if (cal1 == null || cal2 == null) { + throw new IllegalArgumentException("The date must not be null"); + } + return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && // + cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH); + } + /** *
检查两个Calendar时间戳是否相同。
* diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java index de3331cb4..fa46394ef 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java @@ -1495,6 +1495,22 @@ public class DateUtil extends CalendarUtil { return CalendarUtil.isSameDay(calendar(date1), calendar(date2)); } + /** + * 比较两个日期是否为同一月 + * + * @param date1 日期1 + * @param date2 日期2 + * @return 是否为同一月 + * @since 5.4.11 + */ + public static boolean isSameMonth(final Date date1, final Date date2) { + if (date1 == null || date2 == null) { + throw new IllegalArgumentException("The date must not be null"); + } + return CalendarUtil.isSameMonth(calendar(date1), calendar(date2)); + } + + /** * 计时,常用于记录某段代码的执行时间,单位:纳秒 *