From ee12875bf33320b0f92a2821984b764d0c494c8b Mon Sep 17 00:00:00 2001 From: quping <1607476532@qq.com> Date: Wed, 28 Sep 2022 18:07:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=9C=AC=E6=9C=88=E6=9C=80=E5=90=8E=E4=B8=80=E5=A4=A9,?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=B8=BA=E6=9C=AC=E6=9C=88=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/date/DateUtil.java | 20 +++++++++++++++++++ .../cn/hutool/core/date/DateUtilTest.java | 8 ++++++++ 2 files changed, 28 insertions(+) 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)); + } }