mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix code
This commit is contained in:
parent
2fd5c8c32e
commit
48d67f0859
@ -9,6 +9,7 @@
|
|||||||
* 【core 】 DateUtil增加formatChineseDate(pr#932@Github)
|
* 【core 】 DateUtil增加formatChineseDate(pr#932@Github)
|
||||||
* 【core 】 ArrayUtil.isEmpty修改逻辑(pr#948@Github)
|
* 【core 】 ArrayUtil.isEmpty修改逻辑(pr#948@Github)
|
||||||
* 【core 】 增强StrUtil中空判断后返回数据性能(pr#949@Github)
|
* 【core 】 增强StrUtil中空判断后返回数据性能(pr#949@Github)
|
||||||
|
* 【core 】 deprecate掉millsecond,改为millisecond(issue#I1M9P8@Github)
|
||||||
|
|
||||||
### Bug修复
|
### Bug修复
|
||||||
* 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee)
|
* 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee)
|
||||||
|
@ -1,26 +1,33 @@
|
|||||||
package cn.hutool.core.date;
|
package cn.hutool.core.date;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
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 static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 时长毫秒数 */
|
/**
|
||||||
|
* 时长毫秒数
|
||||||
|
*/
|
||||||
private long betweenMs;
|
private long betweenMs;
|
||||||
/** 格式化级别 */
|
/**
|
||||||
|
* 格式化级别
|
||||||
|
*/
|
||||||
private Level level;
|
private Level level;
|
||||||
/** 格式化级别的最大个数 */
|
/**
|
||||||
|
* 格式化级别的最大个数
|
||||||
|
*/
|
||||||
private final int levelMaxCount;
|
private final int levelMaxCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造
|
* 构造
|
||||||
|
*
|
||||||
* @param betweenMs 日期间隔
|
* @param betweenMs 日期间隔
|
||||||
* @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
|
* @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
|
||||||
*/
|
*/
|
||||||
@ -30,6 +37,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造
|
* 构造
|
||||||
|
*
|
||||||
* @param betweenMs 日期间隔
|
* @param betweenMs 日期间隔
|
||||||
* @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
|
* @param level 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
|
||||||
* @param levelMaxCount 格式化级别的最大个数,假如级别个数为1,但是级别到秒,那只显示一个级别
|
* @param levelMaxCount 格式化级别的最大个数,假如级别个数为1,但是级别到秒,那只显示一个级别
|
||||||
@ -75,8 +83,8 @@ public class BetweenFormater implements Serializable{
|
|||||||
sb.append(second).append(Level.SECOND.name);
|
sb.append(second).append(Level.SECOND.name);
|
||||||
levelCount++;
|
levelCount++;
|
||||||
}
|
}
|
||||||
if(isLevelCountValid(levelCount) && 0 != millisecond && level >= Level.MILLSECOND.ordinal()){
|
if (isLevelCountValid(levelCount) && 0 != millisecond && level >= Level.MILLISECOND.ordinal()) {
|
||||||
sb.append(millisecond).append(Level.MILLSECOND.name);
|
sb.append(millisecond).append(Level.MILLISECOND.name);
|
||||||
// levelCount++;
|
// levelCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,6 +98,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 时长毫秒数
|
* 获得 时长毫秒数
|
||||||
|
*
|
||||||
* @return 时长毫秒数
|
* @return 时长毫秒数
|
||||||
*/
|
*/
|
||||||
public long getBetweenMs() {
|
public long getBetweenMs() {
|
||||||
@ -98,6 +107,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置 时长毫秒数
|
* 设置 时长毫秒数
|
||||||
|
*
|
||||||
* @param betweenMs 时长毫秒数
|
* @param betweenMs 时长毫秒数
|
||||||
*/
|
*/
|
||||||
public void setBetweenMs(long betweenMs) {
|
public void setBetweenMs(long betweenMs) {
|
||||||
@ -106,6 +116,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得 格式化级别
|
* 获得 格式化级别
|
||||||
|
*
|
||||||
* @return 格式化级别
|
* @return 格式化级别
|
||||||
*/
|
*/
|
||||||
public Level getLevel() {
|
public Level getLevel() {
|
||||||
@ -114,6 +125,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置格式化级别
|
* 设置格式化级别
|
||||||
|
*
|
||||||
* @param level 格式化级别
|
* @param level 格式化级别
|
||||||
*/
|
*/
|
||||||
public void setLevel(Level level) {
|
public void setLevel(Level level) {
|
||||||
@ -127,22 +139,41 @@ public class BetweenFormater implements Serializable{
|
|||||||
*/
|
*/
|
||||||
public enum Level {
|
public enum Level {
|
||||||
|
|
||||||
/** 天 */
|
/**
|
||||||
|
* 天
|
||||||
|
*/
|
||||||
DAY("天"),
|
DAY("天"),
|
||||||
/** 小时 */
|
/**
|
||||||
|
* 小时
|
||||||
|
*/
|
||||||
HOUR("小时"),
|
HOUR("小时"),
|
||||||
/** 分钟 */
|
/**
|
||||||
|
* 分钟
|
||||||
|
*/
|
||||||
MINUTE("分"),
|
MINUTE("分"),
|
||||||
/** 秒 */
|
/**
|
||||||
|
* 秒
|
||||||
|
*/
|
||||||
SECOND("秒"),
|
SECOND("秒"),
|
||||||
/** 毫秒 */
|
/**
|
||||||
MILLSECOND("毫秒");
|
* 毫秒
|
||||||
|
* @deprecated 拼写错误,请使用{@link #MILLISECOND}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
MILLSECOND("毫秒"),
|
||||||
|
/**
|
||||||
|
* 毫秒
|
||||||
|
*/
|
||||||
|
MILLISECOND("毫秒");
|
||||||
|
|
||||||
/** 级别名称 */
|
/**
|
||||||
|
* 级别名称
|
||||||
|
*/
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造
|
* 构造
|
||||||
|
*
|
||||||
* @param name 级别名称
|
* @param name 级别名称
|
||||||
*/
|
*/
|
||||||
Level(String name) {
|
Level(String name) {
|
||||||
@ -151,6 +182,7 @@ public class BetweenFormater implements Serializable{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取级别名称
|
* 获取级别名称
|
||||||
|
*
|
||||||
* @return 级别名称
|
* @return 级别名称
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
@ -165,6 +165,6 @@ public class DateBetween implements Serializable{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return toString(BetweenFormater.Level.MILLSECOND);
|
return toString(BetweenFormater.Level.MILLISECOND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -525,6 +525,17 @@ public class DateTime extends Date {
|
|||||||
*
|
*
|
||||||
* @return 毫秒数
|
* @return 毫秒数
|
||||||
*/
|
*/
|
||||||
|
public int millisecond() {
|
||||||
|
return getField(DateField.MILLISECOND);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得指定日期的毫秒数部分<br>
|
||||||
|
*
|
||||||
|
* @return 毫秒数
|
||||||
|
* @deprecated 拼写错误,请使用{@link #millisecond()}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public int millsecond() {
|
public int millsecond() {
|
||||||
return getField(DateField.MILLISECOND);
|
return getField(DateField.MILLISECOND);
|
||||||
}
|
}
|
||||||
|
@ -321,9 +321,21 @@ public class DateUtil extends CalendarUtil {
|
|||||||
*
|
*
|
||||||
* @param date 日期
|
* @param date 日期
|
||||||
* @return 毫秒数
|
* @return 毫秒数
|
||||||
|
* @deprecated 拼写错误,请使用{@link #millisecond(Date)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static int millsecond(Date date) {
|
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>
|
* @return 当前日期的毫秒数部分<br>
|
||||||
|
* @deprecated 拼写错误,请使用{@link #thisMillisecond()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static int thisMillsecond() {
|
public static int thisMillsecond() {
|
||||||
return millsecond(date());
|
return millisecond(date());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return 当前日期的毫秒数部分<br>
|
||||||
|
*/
|
||||||
|
public static int thisMillisecond() {
|
||||||
|
return millisecond(date());
|
||||||
}
|
}
|
||||||
// -------------------------------------------------------------- Part of Date end
|
// -------------------------------------------------------------- Part of Date end
|
||||||
|
|
||||||
@ -1398,7 +1419,7 @@ public class DateUtil extends CalendarUtil {
|
|||||||
* @since 3.0.1
|
* @since 3.0.1
|
||||||
*/
|
*/
|
||||||
public static String formatBetween(long betweenMs) {
|
public static String formatBetween(long betweenMs) {
|
||||||
return new BetweenFormater(betweenMs, BetweenFormater.Level.MILLSECOND).format();
|
return new BetweenFormater(betweenMs, BetweenFormater.Level.MILLISECOND).format();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -10,7 +10,7 @@ public class BetweenFormaterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void formatTest(){
|
public void formatTest(){
|
||||||
long betweenMs = DateUtil.betweenMs(DateUtil.parse("2017-01-01 22:59:59"), DateUtil.parse("2017-01-02 23:59:58"));
|
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天");
|
Assert.assertEquals(formater.toString(), "1天");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user