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 c1659ea63..ada42c78c 100755 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java @@ -2247,6 +2247,26 @@ public class DateUtil extends CalendarUtil { return startTime.before(realEndTime) && endTime.after(realStartTime); } + /** + * 是否为本月最后一天 + * @param dateTime {@link DateTime} + * @return 是否为本月最后一天 + * @since 5.8.8 + */ + public static boolean isLastDayOfMonth(DateTime dateTime){ + return dateTime.dayOfMonth()==getLastDayOfMonth(dateTime); + } + + /** + * 获得本月的最后一天 + * @param dateTime {@link DateTime} + * @return 天 + * @since 5.8.8 + */ + public static int getLastDayOfMonth(DateTime dateTime){ + return Month.getLastDay(dateTime.month(),dateTime.isLeapYear()); + } + // ------------------------------------------------------------------------ Private method start /** diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java index d7ab1922c..4999287f5 100755 --- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java @@ -1094,4 +1094,12 @@ public class DateUtilTest { DateUtil.parse(sourceStr)); Assert.assertTrue(between); } + + @Test + public void isLastDayTest(){ + DateTime dateTime = DateUtil.parse("2022-09-30"); + int dayOfMonth = DateUtil.getLastDayOfMonth(dateTime); + Assert.assertEquals(dayOfMonth,dateTime.dayOfMonth()); + Assert.assertTrue("not is last day of this month !!",DateUtil.isLastDayOfMonth(dateTime)); + } }