Looly 5 年 前
コミット
48d67f0859

+ 1 - 0
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)

+ 74 - 42
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;
 	}
-	
+
 	/**
 	 * 格式化日期间隔输出<br>
-	 * 
+	 *
 	 * @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();
 	}
-	
+
 	/**
 	 * 等级数量是否有效<br>
 	 * 有效的定义是:levelMaxCount大于0(被设置),当前等级数量没有超过这个最大值
-	 * 
+	 *
 	 * @param levelCount 登记数量
 	 * @return 是否有效
 	 */
-	private boolean isLevelCountValid(int levelCount){
+	private boolean isLevelCountValid(int levelCount) {
 		return this.levelMaxCount <= 0 || levelCount < this.levelMaxCount;
 	}
 }

+ 1 - 1
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);
 	}
 }

+ 11 - 0
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);
+	}
+
+	/**
+	 * 获得指定日期的毫秒数部分<br>
+	 *
+	 * @return 毫秒数
+	 * @deprecated 拼写错误,请使用{@link #millisecond()}
+	 */
+	@Deprecated
 	public int millsecond() {
 		return getField(DateField.MILLISECOND);
 	}

+ 24 - 3
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();
+	}
+
+	/**
+	 * 获得指定日期的毫秒数部分<br>
+	 *
+	 * @param date 日期
+	 * @return 毫秒数
+	 */
+	public static int millisecond(Date date) {
+		return DateTime.of(date).millisecond();
 	}
 
 	/**
@@ -426,9 +438,18 @@ public class DateUtil extends CalendarUtil {
 
 	/**
 	 * @return 当前日期的毫秒数部分<br>
+	 * @deprecated 拼写错误,请使用{@link #thisMillisecond()}
 	 */
+	@Deprecated
 	public static int thisMillsecond() {
-		return millsecond(date());
+		return millisecond(date());
+	}
+
+	/**
+	 * @return 当前日期的毫秒数部分<br>
+	 */
+	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();
 	}
 
 	/**

+ 1 - 1
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天");
 	}