From 7d273f6c527f6270973f23b86df70c74f74845be Mon Sep 17 00:00:00 2001 From: duandazhi Date: Wed, 14 Jul 2021 11:27:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=B8=E7=94=A8=E6=96=B9=E6=B3=95=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20@see=20=E5=92=8C=20=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/date/DateUtil.java | 13 ++++++++---- .../hutool/core/date/LocalDateTimeUtil.java | 4 ++-- .../java/cn/hutool/core/net/Ipv4Util.java | 4 ++-- .../java/cn/hutool/core/text/CharPool.java | 2 +- .../cn/hutool/core/text/CharSequenceUtil.java | 4 ++-- .../java/cn/hutool/core/text/StrPool.java | 1 + .../convert/NumberChineseFormatterTest.java | 2 ++ .../cn/hutool/core/date/DateUtilTest.java | 20 +++++++++++-------- 8 files changed, 31 insertions(+), 19 deletions(-) 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 a81d2af2a..2347b18ba 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 @@ -18,6 +18,7 @@ import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDateTime; import java.time.Year; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAccessor; import java.util.Calendar; @@ -481,7 +482,7 @@ public class DateUtil extends CalendarUtil { * 根据特定格式格式化日期 * * @param date 被格式化的日期 - * @param format 日期格式,常用格式见: {@link DatePattern} + * @param format 日期格式,常用格式见: {@link DatePattern} {@link DatePattern#NORM_DATETIME_PATTERN} * @return 格式化后的字符串 */ public static String format(Date date, String format) { @@ -505,7 +506,7 @@ public class DateUtil extends CalendarUtil { * 根据特定格式格式化日期 * * @param date 被格式化的日期 - * @param format {@link DatePrinter} 或 {@link FastDateFormat} + * @param format {@link DatePrinter} 或 {@link FastDateFormat} {@link DatePattern#NORM_DATETIME_FORMAT} * @return 格式化后的字符串 */ public static String format(Date date, DatePrinter format) { @@ -533,7 +534,7 @@ public class DateUtil extends CalendarUtil { * 根据特定格式格式化日期 * * @param date 被格式化的日期 - * @param format {@link SimpleDateFormat} + * @param format {@link SimpleDateFormat} {@link DatePattern#NORM_DATETIME_FORMATTER} * @return 格式化后的字符串 * @since 5.0.0 */ @@ -541,6 +542,10 @@ public class DateUtil extends CalendarUtil { if (null == format || null == date) { return null; } + // java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra + if (format.getZone() == null) { + format = format.withZone(ZoneId.systemDefault()); + } return format.format(date.toInstant()); } @@ -880,7 +885,7 @@ public class DateUtil extends CalendarUtil { *
  • yyyy-MM-dd'T'HH:mm:ss.SSSZ
  • * * - * @param dateCharSequence 日期字符串 + * @param dateCharSequence 日期字符串; 常量如 {@link DatePattern#NORM_DATE_PATTERN}, {@link DatePattern#NORM_DATETIME_PATTERN} * @return 日期 */ public static DateTime parse(CharSequence dateCharSequence) { diff --git a/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java index a40065243..66ffb40f5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java @@ -373,7 +373,7 @@ public class LocalDateTimeUtil { * 格式化日期时间为指定格式 * * @param date {@link LocalDate} - * @param formatter 日期格式化器,预定义的格式见:{@link DateTimeFormatter} + * @param formatter 日期格式化器,预定义的格式见:{@link DateTimeFormatter}; 常量如: {@link DatePattern#NORM_DATE_FORMATTER}, {@link DatePattern#NORM_DATETIME_FORMATTER} * @return 格式化后的字符串 * @since 5.3.10 */ @@ -385,7 +385,7 @@ public class LocalDateTimeUtil { * 格式化日期时间为指定格式 * * @param date {@link LocalDate} - * @param format 日期格式,类似于yyyy-MM-dd + * @param format 日期格式,类似于yyyy-MM-dd, 常量如 {@link DatePattern#NORM_DATE_PATTERN}, {@link DatePattern#NORM_DATETIME_PATTERN} * @return 格式化后的字符串 * @since 5.3.10 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java b/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java index 881670159..3b6ab8140 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/Ipv4Util.java @@ -148,7 +148,7 @@ public class Ipv4Util { /** * 根据ip地址(xxx.xxx.xxx.xxx)计算出long型的数据 - * + * 方法别名:inet_aton * @param strIP IP V4 地址 * @return long值 */ @@ -160,7 +160,7 @@ public class Ipv4Util { /** * 根据 ip/掩码位 计算IP段的起始IP(字符串型) - * + * 方法别名:inet_ntoa * @param ip 给定的IP,如218.240.38.69 * @param maskBit 给定的掩码位,如30 * @return 起始IP的字符串表示 diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharPool.java b/hutool-core/src/main/java/cn/hutool/core/text/CharPool.java index 06b922a73..228f02209 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharPool.java @@ -2,7 +2,7 @@ package cn.hutool.core.text; /** * 常用字符常量 - * + * @see StrPool * @author looly * @since 5.6.3 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java index a86d1ef6e..9327a6a44 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java @@ -4260,7 +4260,7 @@ public class CharSequenceUtil { /** * 以 conjunction 为分隔符将多个对象转换为字符串 * - * @param conjunction 分隔符 + * @param conjunction 分隔符 {@link StrPool#COMMA} * @param objs 数组 * @return 连接后的字符串 * @see ArrayUtil#join(Object, CharSequence) @@ -4273,7 +4273,7 @@ public class CharSequenceUtil { * 以 conjunction 为分隔符将多个对象转换为字符串 * * @param 元素类型 - * @param conjunction 分隔符 + * @param conjunction 分隔符 {@link StrPool#COMMA} * @param iterable 集合 * @return 连接后的字符串 * @see CollUtil#join(Iterable, CharSequence) diff --git a/hutool-core/src/main/java/cn/hutool/core/text/StrPool.java b/hutool-core/src/main/java/cn/hutool/core/text/StrPool.java index 2a90f7879..743c4e474 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/StrPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/StrPool.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.XmlUtil; /** * 常用字符串常量定义 + * @see CharPool * * @author looly * @since 5.6.3 diff --git a/hutool-core/src/test/java/cn/hutool/core/convert/NumberChineseFormatterTest.java b/hutool-core/src/test/java/cn/hutool/core/convert/NumberChineseFormatterTest.java index 3fce2769c..72fe79008 100644 --- a/hutool-core/src/test/java/cn/hutool/core/convert/NumberChineseFormatterTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/convert/NumberChineseFormatterTest.java @@ -7,6 +7,8 @@ public class NumberChineseFormatterTest { @Test public void formatTest() { + String f0 = NumberChineseFormatter.format(50008000, false); + Assert.assertEquals("五千万零8千", f0); String f1 = NumberChineseFormatter.format(10889.72356, false); Assert.assertEquals("一万零八百八十九点七二", f1); f1 = NumberChineseFormatter.format(12653, false); 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 d80795466..3d8b0172a 100644 --- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java @@ -13,14 +13,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Locale; -import java.util.Objects; -import java.util.TimeZone; +import java.util.*; /** * 时间工具单元测试
    @@ -893,4 +886,15 @@ public class DateUtilTest { // 在日期格式不匹配的时候,测试是否正常报错 DateUtil.parse("2020-12-23", DatePattern.PURE_DATE_PATTERN); } + + @Test + public void formatTest(){ + Calendar calendar = new GregorianCalendar(); + calendar.set(2021, Calendar.JULY, 14, 23, 59, 59); + Date date = new DateTime(calendar); + + Assert.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_FORMATTER)); + Assert.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_FORMAT)); + Assert.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN)); + } }