From a1868f483488ee4aca0fc80f84a0caa05cee8bd7 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 9 Feb 2023 20:49:41 +0800 Subject: [PATCH] fix code --- .../java/cn/hutool/core/date/DateTime.java | 20 ++++++----- .../java/cn/hutool/core/date/DateUtil.java | 34 ++++++++++++++----- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateTime.java b/hutool-core/src/main/java/cn/hutool/core/date/DateTime.java index 30e0decdb..983491cff 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateTime.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateTime.java @@ -45,7 +45,7 @@ public class DateTime extends Date { * @param customUseJdkToStringStyle 是否使用{@link Date}默认的toString()格式 * @since 5.7.21 */ - public static void setUseJdkToStringStyle(final boolean customUseJdkToStringStyle){ + public static void setUseJdkToStringStyle(final boolean customUseJdkToStringStyle) { useJdkToStringStyle = customUseJdkToStringStyle; } @@ -134,7 +134,7 @@ public class DateTime extends Date { /** * 当前时间 * - * @param timeZone 时区 + * @param timeZone 时区,{@code null}表示默认时区 * @since 4.1.2 */ public DateTime(final TimeZone timeZone) { @@ -156,8 +156,8 @@ public class DateTime extends Date { /** * 给定日期的构造 * - * @param date 日期 - * @param timeZone 时区 + * @param date 日期,{@code null}表示当前时间 + * @param timeZone 时区,{@code null}表示默认时区 * @since 4.1.2 */ public DateTime(final Date date, final TimeZone timeZone) { @@ -167,7 +167,7 @@ public class DateTime extends Date { /** * 给定日期的构造 * - * @param calendar {@link Calendar} + * @param calendar {@link Calendar},不能为{@code null} */ public DateTime(final Calendar calendar) { this(calendar.getTime(), calendar.getTimeZone()); @@ -177,7 +177,7 @@ public class DateTime extends Date { /** * 给定日期Instant的构造 * - * @param instant {@link Instant} 对象 + * @param instant {@link Instant} 对象,不能为{@code null} * @since 5.0.0 */ public DateTime(final Instant instant) { @@ -945,19 +945,21 @@ public class DateTime extends Date { /** * 是否为本月最后一天 + * * @return 是否为本月最后一天 * @since 5.8.8 */ - public boolean isLastDayOfMonth(){ + public boolean isLastDayOfMonth() { return dayOfMonth() == getLastDayOfMonth(); } /** * 获得本月的最后一天 + * * @return 天 * @since 5.8.8 */ - public int getLastDayOfMonth(){ + public int getLastDayOfMonth() { return monthEnum().getLastDay(isLeapYear()); } @@ -973,7 +975,7 @@ public class DateTime extends Date { */ @Override public String toString() { - if(useJdkToStringStyle){ + if (useJdkToStringStyle) { return super.toString(); } return toString(this.timeZone); 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 225fff071..dfed3e3db 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 @@ -89,11 +89,14 @@ public class DateUtil extends CalendarUtil { * {@link Date}类型时间转为{@link DateTime}
* 如果date本身为DateTime对象,则返回强转后的对象,否则新建一个DateTime对象 * - * @param date {@link Date} + * @param date {@link Date},如果传入{@code null},返回{@code null} * @return 时间对象 * @since 3.0.7 */ public static DateTime date(final Date date) { + if (date == null) { + return null; + } if (date instanceof DateTime) { return (DateTime) date; } @@ -103,33 +106,42 @@ public class DateUtil extends CalendarUtil { /** * {@link XMLGregorianCalendar}类型时间转为{@link DateTime} * - * @param date {@link XMLGregorianCalendar} + * @param date {@link XMLGregorianCalendar},如果传入{@code null},返回{@code null} * @return 时间对象 * @since 6.0.0 */ public static DateTime date(final XMLGregorianCalendar date) { + if (date == null) { + return null; + } return date(date.toGregorianCalendar()); } /** * 根据已有{@link Date} 产生新的{@link DateTime}对象 * - * @param date Date对象 + * @param date Date对象,如果传入{@code null},返回{@code null} * @return {@link DateTime}对象 * @since 4.3.1 */ public static DateTime dateNew(final Date date) { + if (date == null) { + return null; + } return new DateTime(date); } /** * 根据已有{@link Date} 产生新的{@link DateTime}对象,并根据指定时区转换 * - * @param date Date对象 - * @param timeZone 时区 + * @param date Date对象,如果传入{@code null},返回{@code null} + * @param timeZone 时区,传入{@code null}则使用默认时区 * @return {@link DateTime}对象 */ public static DateTime date(final Date date, final TimeZone timeZone) { + if (date == null) { + return null; + } return new DateTime(date, timeZone); } @@ -148,10 +160,13 @@ public class DateUtil extends CalendarUtil { * {@link Calendar}类型时间转为{@link DateTime}
* 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象 * - * @param calendar {@link Calendar} + * @param calendar {@link Calendar},如果传入{@code null},返回{@code null} * @return 时间对象 */ public static DateTime date(final Calendar calendar) { + if (calendar == null) { + return null; + } return new DateTime(calendar); } @@ -159,11 +174,14 @@ public class DateUtil extends CalendarUtil { * {@link TemporalAccessor}类型时间转为{@link DateTime}
* 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象 * - * @param temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate + * @param temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate,如果传入{@code null},返回{@code null} * @return 时间对象 * @since 5.0.0 */ public static DateTime date(final TemporalAccessor temporalAccessor) { + if (temporalAccessor == null) { + return null; + } return new DateTime(temporalAccessor); } @@ -2016,7 +2034,7 @@ public class DateUtil extends CalendarUtil { // x>b||a>y 无交集 // 则有交集的逻辑为 !(x>b||a>y) // 根据德摩根公式,可化简为 x<=b && a<=y 即 realStartTime<=endTime && startTime<=realEndTime - return realStartTime.compareTo(endTime) <=0 && startTime.compareTo(realEndTime) <= 0; + return realStartTime.compareTo(endTime) <= 0 && startTime.compareTo(realEndTime) <= 0; } /**