LocalDateTime比较时间并显示具体时间差
Duration.between() 可以精确到天/小时/分秒
toDays()/toHours()/toMinutes()
Long diff = Duration.between(LocalDateTime.now(), taskInfoVO.getLastTime()).toMillis();
DateUtil.formatBetween(betweenMs, level)
level可以自定义输出XX天XX小时XX分XX秒XX毫秒 级别
/**
* 格式化日期间隔输出
*
* @param betweenMs 日期间隔
* @param level 级别,按照天、小时、分、秒、毫秒分为5个等级
* @return XX天XX小时XX分XX秒XX毫秒
*/
public static String formatBetween(long betweenMs, BetweenFormater.Level level) {
return new BetweenFormater(betweenMs, level).format();
}
案例
if (LocalDateTime.now().isAfter(lastTime)) {
diff = -diff;
OverTimeStatus = "已逾期" + DateUtil.formatBetween(diff,BetweenFormater.Level.MINUTE);
} else {
OverTimeStatus = "剩余" + DateUtil.formatBetween(diff, BetweenFormater.Level.MINUTE);
}