From 29a6cba58da9a794b042e70991b83dd771ee5519 Mon Sep 17 00:00:00 2001 From: hellozrh <455741807@qq.com> Date: Thu, 13 Jun 2024 14:44:53 +0800 Subject: [PATCH] =?UTF-8?q?DateUtil.format(Date=20date,=20String=20format)?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=95=88=E7=8E=87=E4=BC=98=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/date/DateUtil.java | 2 +- .../cn/hutool/core/date/DateUtilTest.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) 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 74f907252..f005c04eb 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 @@ -522,7 +522,7 @@ public class DateUtil extends CalendarUtil { if (date instanceof DateTime) { timeZone = ((DateTime) date).getTimeZone(); } - return format(date, newSimpleFormat(format, null, timeZone)); + return format(date, FastDateFormat.getInstance(format)); } /** 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 974182dc4..d61eea6c6 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 @@ -1183,4 +1183,30 @@ public class DateUtilTest { final DateTime parse = DateUtil.parse(str); Assert.assertEquals("2023-12-11 10:42:04", Objects.requireNonNull(parse).toString()); } + + @Test + public void formatSpeedTest(){ + Date value = new Date(); + long t0 = System.currentTimeMillis(); + FastDateFormat.getInstance("YYYY-MM-dd HH:mm:ss.SSSSSS"); + long t1 = System.currentTimeMillis(); + String strTime = null; + for(int i=0; i<5000; i++){ + strTime = DateUtil.format(value, "YYYY-MM-dd HH:mm:ss.SSSSSS"); + } + System.out.println("format="+strTime); + long t2 = System.currentTimeMillis(); + + for(int i=0; i<5000; i++){ + strTime = FastDateFormat.getInstance("YYYY-MM-dd HH:mm:ss.SSSSSS").format(value); + } + System.out.println("FastDateFormat="+strTime); + + long t3 = System.currentTimeMillis(); + + System.out.println("t1-t0="+(t1-t0)); + System.out.println("t2-t1="+(t2-t1)); + System.out.println("t3-t2="+(t3-t2)); + } + }