diff --git a/CHANGELOG.md b/CHANGELOG.md
index 56bc60a93..f34d6b12d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
* 【core 】 DateUtil增加formatChineseDate(pr#932@Github)
* 【core 】 ArrayUtil.isEmpty修改逻辑(pr#948@Github)
* 【core 】 增强StrUtil中空判断后返回数据性能(pr#949@Github)
+* 【core 】 deprecate掉millsecond,改为millisecond(issue#I1M9P8@Github)
### Bug修复
* 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee)
diff --git a/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormater.java b/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormater.java
index 97ef404e1..bd83e1adf 100644
--- a/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormater.java
+++ b/hutool-core/src/main/java/cn/hutool/core/date/BetweenFormater.java
@@ -1,37 +1,45 @@
package cn.hutool.core.date;
-import java.io.Serializable;
-
import cn.hutool.core.util.StrUtil;
+import java.io.Serializable;
+
/**
* 时长格式化器
- * @author Looly
*
+ * @author Looly
*/
-public class BetweenFormater implements Serializable{
+public class BetweenFormater implements Serializable {
private static final long serialVersionUID = 1L;
-
- /** 时长毫秒数 */
+
+ /**
+ * 时长毫秒数
+ */
private long betweenMs;
- /** 格式化级别 */
+ /**
+ * 格式化级别
+ */
private Level level;
- /** 格式化级别的最大个数 */
+ /**
+ * 格式化级别的最大个数
+ */
private final int levelMaxCount;
-
+
/**
* 构造
+ *
* @param betweenMs 日期间隔
- * @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
+ * @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
*/
public BetweenFormater(long betweenMs, Level level) {
this(betweenMs, level, 0);
}
-
+
/**
* 构造
- * @param betweenMs 日期间隔
- * @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
+ *
+ * @param betweenMs 日期间隔
+ * @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
* @param levelMaxCount 格式化级别的最大个数,假如级别个数为1,但是级别到秒,那只显示一个级别
*/
public BetweenFormater(long betweenMs, Level level, int levelMaxCount) {
@@ -39,15 +47,15 @@ public class BetweenFormater implements Serializable{
this.level = level;
this.levelMaxCount = levelMaxCount;
}
-
+
/**
* 格式化日期间隔输出
- *
+ *
* @return 格式化后的字符串
*/
- public String format(){
+ public String format() {
final StringBuilder sb = new StringBuilder();
- if(betweenMs > 0){
+ if (betweenMs > 0) {
long day = betweenMs / DateUnit.DAY.getMillis();
long hour = betweenMs / DateUnit.HOUR.getMillis() - day * 24;
long minute = betweenMs / DateUnit.MINUTE.getMillis() - day * 24 * 60 - hour * 60;
@@ -55,41 +63,42 @@ public class BetweenFormater implements Serializable{
final long BetweenOfSecond = ((day * 24 + hour) * 60 + minute) * 60;
long second = betweenMs / DateUnit.SECOND.getMillis() - BetweenOfSecond;
long millisecond = betweenMs - (BetweenOfSecond + second) * 1000;
-
+
final int level = this.level.ordinal();
int levelCount = 0;
-
- if(isLevelCountValid(levelCount) && 0 != day && level >= Level.DAY.ordinal()){
+
+ if (isLevelCountValid(levelCount) && 0 != day && level >= Level.DAY.ordinal()) {
sb.append(day).append(Level.DAY.name);
levelCount++;
}
- if(isLevelCountValid(levelCount) && 0 != hour && level >= Level.HOUR.ordinal()){
+ if (isLevelCountValid(levelCount) && 0 != hour && level >= Level.HOUR.ordinal()) {
sb.append(hour).append(Level.HOUR.name);
levelCount++;
}
- if(isLevelCountValid(levelCount) && 0 != minute && level >= Level.MINUTE.ordinal()){
+ if (isLevelCountValid(levelCount) && 0 != minute && level >= Level.MINUTE.ordinal()) {
sb.append(minute).append(Level.MINUTE.name);
levelCount++;
}
- if(isLevelCountValid(levelCount) && 0 != second && level >= Level.SECOND.ordinal()){
+ if (isLevelCountValid(levelCount) && 0 != second && level >= Level.SECOND.ordinal()) {
sb.append(second).append(Level.SECOND.name);
levelCount++;
}
- if(isLevelCountValid(levelCount) && 0 != millisecond && level >= Level.MILLSECOND.ordinal()){
- sb.append(millisecond).append(Level.MILLSECOND.name);
+ if (isLevelCountValid(levelCount) && 0 != millisecond && level >= Level.MILLISECOND.ordinal()) {
+ sb.append(millisecond).append(Level.MILLISECOND.name);
// levelCount++;
}
}
-
- if(StrUtil.isEmpty(sb)) {
+
+ if (StrUtil.isEmpty(sb)) {
sb.append(0).append(this.level.name);
}
-
+
return sb.toString();
}
-
+
/**
* 获得 时长毫秒数
+ *
* @return 时长毫秒数
*/
public long getBetweenMs() {
@@ -98,6 +107,7 @@ public class BetweenFormater implements Serializable{
/**
* 设置 时长毫秒数
+ *
* @param betweenMs 时长毫秒数
*/
public void setBetweenMs(long betweenMs) {
@@ -106,6 +116,7 @@ public class BetweenFormater implements Serializable{
/**
* 获得 格式化级别
+ *
* @return 格式化级别
*/
public Level getLevel() {
@@ -114,35 +125,55 @@ public class BetweenFormater implements Serializable{
/**
* 设置格式化级别
+ *
* @param level 格式化级别
*/
public void setLevel(Level level) {
this.level = level;
}
-
+
/**
* 格式化等级枚举
- *
+ *
* @author Looly
*/
public enum Level {
- /** 天 */
+ /**
+ * 天
+ */
DAY("天"),
- /** 小时 */
+ /**
+ * 小时
+ */
HOUR("小时"),
- /** 分钟 */
+ /**
+ * 分钟
+ */
MINUTE("分"),
- /** 秒 */
+ /**
+ * 秒
+ */
SECOND("秒"),
- /** 毫秒 */
- MILLSECOND("毫秒");
+ /**
+ * 毫秒
+ * @deprecated 拼写错误,请使用{@link #MILLISECOND}
+ */
+ @Deprecated
+ MILLSECOND("毫秒"),
+ /**
+ * 毫秒
+ */
+ MILLISECOND("毫秒");
- /** 级别名称 */
+ /**
+ * 级别名称
+ */
private final String name;
/**
* 构造
+ *
* @param name 级别名称
*/
Level(String name) {
@@ -151,26 +182,27 @@ public class BetweenFormater implements Serializable{
/**
* 获取级别名称
+ *
* @return 级别名称
*/
public String getName() {
return this.name;
}
}
-
+
@Override
public String toString() {
return format();
}
-
+
/**
* 等级数量是否有效
* 有效的定义是:levelMaxCount大于0(被设置),当前等级数量没有超过这个最大值
- *
+ *
* @param levelCount 登记数量
* @return 是否有效
*/
- private boolean isLevelCountValid(int levelCount){
+ private boolean isLevelCountValid(int levelCount) {
return this.levelMaxCount <= 0 || levelCount < this.levelMaxCount;
}
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java b/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java
index 47c01fe3f..a190f5131 100644
--- a/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java
+++ b/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java
@@ -165,6 +165,6 @@ public class DateBetween implements Serializable{
@Override
public String toString() {
- return toString(BetweenFormater.Level.MILLSECOND);
+ return toString(BetweenFormater.Level.MILLISECOND);
}
}
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 aefb3c538..47b93f7e3 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
@@ -525,6 +525,17 @@ public class DateTime extends Date {
*
* @return 毫秒数
*/
+ public int millisecond() {
+ return getField(DateField.MILLISECOND);
+ }
+
+ /**
+ * 获得指定日期的毫秒数部分
+ *
+ * @return 毫秒数
+ * @deprecated 拼写错误,请使用{@link #millisecond()}
+ */
+ @Deprecated
public int millsecond() {
return getField(DateField.MILLISECOND);
}
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 bfa3e90c3..4e49267c1 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
@@ -321,9 +321,21 @@ public class DateUtil extends CalendarUtil {
*
* @param date 日期
* @return 毫秒数
+ * @deprecated 拼写错误,请使用{@link #millisecond(Date)}
*/
+ @Deprecated
public static int millsecond(Date date) {
- return DateTime.of(date).millsecond();
+ return DateTime.of(date).millisecond();
+ }
+
+ /**
+ * 获得指定日期的毫秒数部分
+ *
+ * @param date 日期
+ * @return 毫秒数
+ */
+ public static int millisecond(Date date) {
+ return DateTime.of(date).millisecond();
}
/**
@@ -426,9 +438,18 @@ public class DateUtil extends CalendarUtil {
/**
* @return 当前日期的毫秒数部分
+ * @deprecated 拼写错误,请使用{@link #thisMillisecond()}
*/
+ @Deprecated
public static int thisMillsecond() {
- return millsecond(date());
+ return millisecond(date());
+ }
+
+ /**
+ * @return 当前日期的毫秒数部分
+ */
+ public static int thisMillisecond() {
+ return millisecond(date());
}
// -------------------------------------------------------------- Part of Date end
@@ -1398,7 +1419,7 @@ public class DateUtil extends CalendarUtil {
* @since 3.0.1
*/
public static String formatBetween(long betweenMs) {
- return new BetweenFormater(betweenMs, BetweenFormater.Level.MILLSECOND).format();
+ return new BetweenFormater(betweenMs, BetweenFormater.Level.MILLISECOND).format();
}
/**
diff --git a/hutool-core/src/test/java/cn/hutool/core/date/BetweenFormaterTest.java b/hutool-core/src/test/java/cn/hutool/core/date/BetweenFormaterTest.java
index 33d57b673..9b43ec3fe 100644
--- a/hutool-core/src/test/java/cn/hutool/core/date/BetweenFormaterTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/date/BetweenFormaterTest.java
@@ -10,7 +10,7 @@ public class BetweenFormaterTest {
@Test
public void formatTest(){
long betweenMs = DateUtil.betweenMs(DateUtil.parse("2017-01-01 22:59:59"), DateUtil.parse("2017-01-02 23:59:58"));
- BetweenFormater formater = new BetweenFormater(betweenMs, Level.MILLSECOND, 1);
+ BetweenFormater formater = new BetweenFormater(betweenMs, Level.MILLISECOND, 1);
Assert.assertEquals(formater.toString(), "1天");
}