From 51c1588081cbd34dd01f80e57067b3b8755a0fac Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 17 Jun 2024 15:45:38 +0800 Subject: [PATCH] =?UTF-8?q?BetweenFormatter=E6=94=AF=E6=8C=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=AE=BE=E7=BD=AE=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../java/cn/hutool/core/date/BetweenFormatter.java | 10 +++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bafce5c44..e43a252bd 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * 【core 】 CollUtil.subtract增加空判定(issue#3605@Github) * 【core 】 优化DateUtil.format(Date date, String format)接口效率(pr#1226@Gitee) * 【csv 】 CsvWriter.writeBeans增加重载,可选是否写出表头(issue#IA57W2@Gitee) +* 【core 】 BetweenFormatter支持自定义设置单位(pr#1228@Gitee) ### 🐞Bug修复 * 【core 】 修复AnnotationUtil可能的空指针错误 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormatter.java b/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormatter.java index 2421b0946..5d8b138e5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormatter.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormatter.java @@ -19,10 +19,6 @@ import java.util.function.Function; public class BetweenFormatter implements Serializable { private static final long serialVersionUID = 1L; - /** - * 单位格式化器 - */ - public static Function DEFAULT_LEVEL_FORMATTER = (level) -> level.name; /** * 时长毫秒数 */ @@ -38,7 +34,7 @@ public class BetweenFormatter implements Serializable { /** * 格式化器 */ - private Function levelFormatter = DEFAULT_LEVEL_FORMATTER; + private Function levelFormatter = Level::getName; /** * 分隔符 */ @@ -86,7 +82,7 @@ public class BetweenFormatter implements Serializable { final int level = this.level.ordinal(); int levelCount = 0; - if (isLevelCountValid(levelCount) && 0 != day && level >= Level.DAY.ordinal()) { + if (isLevelCountValid(levelCount) && day > 0) { sb.append(day).append(levelFormatter.apply(Level.DAY)).append(separator); levelCount++; } @@ -172,7 +168,7 @@ public class BetweenFormatter implements Serializable { * @return this */ public BetweenFormatter setSeparator(String separator) { - this.separator = separator == null ? StrUtil.EMPTY : separator; + this.separator = StrUtil.nullToEmpty(separator); return this; }