From ca5a39e9bc8bb9c4cfc1c337fdc8e8f05d6a5ca8 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 28 Dec 2022 16:12:31 +0800 Subject: [PATCH] fix code --- .../java/cn/hutool/core/date/DatePattern.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java b/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java index 108179a71..15585134b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java @@ -5,6 +5,8 @@ import cn.hutool.core.date.format.parser.CSTDateParser; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; +import java.time.temporal.ChronoField; import java.util.Date; import java.util.Locale; import java.util.TimeZone; @@ -52,7 +54,7 @@ import java.util.regex.Pattern; *

* 其中:CST格式,形如:"Mon Aug 15 14:23:15 CST 2022",上面未包含 * 参见:{@link CSTDateParser#parse(String)}、{@link DateUtil#parse(String, String...)}、{@link Date#toString()}进行处理 - *

+ *

* *

* 特殊说明:UTC时间,世界标准时间,0时区的时间,伦敦时间,可以直接加Z表示不加空格, @@ -66,7 +68,7 @@ import java.util.regex.Pattern; *

  • 2022-08-23T15:20:46 +0000
  • *
  • 2022-08-23T15:20:46Z
  • * - * + *

    * 其他格式见:https://ijmacd.github.io/rfc3339-iso8601/ * * @author Looly @@ -271,9 +273,14 @@ public class DatePattern { */ public static final FastDateFormat PURE_DATETIME_MS_FORMAT = FastDateFormat.getInstance(PURE_DATETIME_MS_PATTERN); /** - * 标准日期格式 {@link FastDateFormat}:yyyyMMddHHmmssSSS + * 标准日期格式 {@link FastDateFormat}:yyyyMMddHHmmssSSS
    + * see https://stackoverflow.com/questions/22588051/is-java-time-failing-to-parse-fraction-of-second + * jdk8 bug at: https://bugs.openjdk.java.net/browse/JDK-8031085 */ - public static final DateTimeFormatter PURE_DATETIME_MS_FORMATTER = createFormatter(PURE_DATETIME_MS_PATTERN); + public static final DateTimeFormatter PURE_DATETIME_MS_FORMATTER = new DateTimeFormatterBuilder() + .appendPattern(DatePattern.PURE_DATETIME_PATTERN) + .appendValue(ChronoField.MILLI_OF_SECOND, 3) + .toFormatter(); //-------------------------------------------------------------------------------------------------------------------------------- Others /**