TimeUtils 新增多语言参数,formatDateAgo 重命名为 formatTime
This commit is contained in:
@@ -214,7 +214,7 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils {
|
||||
}
|
||||
long totalTime = System.currentTimeMillis() - beginTime;
|
||||
if (totalTime > 30000){
|
||||
logger.warn(object.getClass() + " serialize time: " + TimeUtils.formatDateAgo(totalTime));
|
||||
logger.warn(object.getClass() + " serialize time: " + TimeUtils.formatTime(totalTime));
|
||||
}
|
||||
return bytes;
|
||||
}
|
||||
@@ -240,7 +240,7 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils {
|
||||
}
|
||||
long totalTime = System.currentTimeMillis() - beginTime;
|
||||
if (totalTime > 30000 && object != null){
|
||||
logger.warn(object.getClass() + " unserialize time: " + TimeUtils.formatDateAgo(totalTime));
|
||||
logger.warn(object.getClass() + " unserialize time: " + TimeUtils.formatTime(totalTime));
|
||||
}
|
||||
return object;
|
||||
}
|
||||
@@ -265,7 +265,7 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils {
|
||||
byte[] bytes = fstConfiguration.get().asByteArray(object);
|
||||
long totalTime = System.currentTimeMillis() - beginTime;
|
||||
if (totalTime > 30000){
|
||||
logger.warn(object.getClass() + " fst serialize time: " + TimeUtils.formatDateAgo(totalTime));
|
||||
logger.warn(object.getClass() + " fst serialize time: " + TimeUtils.formatTime(totalTime));
|
||||
}
|
||||
return bytes;
|
||||
}
|
||||
@@ -283,7 +283,7 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils {
|
||||
Object object = fstConfiguration.get().asObject(bytes);
|
||||
long totalTime = System.currentTimeMillis() - beginTime;
|
||||
if (totalTime > 30000 && object != null){
|
||||
logger.warn(object.getClass() + " fst unserialize time: " + TimeUtils.formatDateAgo(totalTime));
|
||||
logger.warn(object.getClass() + " fst unserialize time: " + TimeUtils.formatTime(totalTime));
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
@@ -13,10 +13,31 @@ import java.util.Date;
|
||||
*/
|
||||
public class TimeUtils {
|
||||
|
||||
public static final String[] CN = new String[] {"毫秒", "秒", "分", "时", "天"};
|
||||
public static final String[] EN = new String[] {" millisecond ", " second", " minute", " hour", " day"};
|
||||
|
||||
public static final String[] AGO_CN = new String[] {"刚刚", "秒前", "分钟前", "小时前", "天前"};
|
||||
public static final String[] AGO_EN = new String[] {"just now", " seconds ago", " minutes ago", " hours ago", " days ago"};
|
||||
|
||||
/**
|
||||
* 将毫秒数转换为:xx天,xx时,xx分,xx秒(v5.1 替换为 formatTime)
|
||||
*/
|
||||
@Deprecated
|
||||
public static String formatDateAgo(long millisecond) {
|
||||
return formatTime(millisecond, CN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将毫秒数转换为:xx天,xx时,xx分,xx秒
|
||||
*/
|
||||
public static String formatDateAgo(long millisecond) {
|
||||
public static String formatTime(long millisecond) {
|
||||
return formatTime(millisecond, CN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将毫秒数转换为:xx天,xx时,xx分,xx秒
|
||||
*/
|
||||
public static String formatTime(long millisecond, String[] lang) {
|
||||
long ms = millisecond;
|
||||
int ss = 1000;
|
||||
int mi = ss * 60;
|
||||
@@ -28,19 +49,19 @@ public class TimeUtils {
|
||||
long second = (ms - day * dd - hour * hh - minute * mi) / ss;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (ms >= 0 && ms < 1000) {
|
||||
sb.append(ms).append("毫秒");
|
||||
sb.append(ms).append(lang[0]);
|
||||
} else {
|
||||
if (day > 0) {
|
||||
sb.append(day).append("天");
|
||||
sb.append(day).append(lang[4]);
|
||||
}
|
||||
if (hour > 0) {
|
||||
sb.append(hour).append("时");
|
||||
sb.append(hour).append(lang[3]);
|
||||
}
|
||||
if (minute > 0) {
|
||||
sb.append(minute).append("分");
|
||||
sb.append(minute).append(lang[2]);
|
||||
}
|
||||
if (second > 0) {
|
||||
sb.append(second).append("秒");
|
||||
sb.append(second).append(lang[1]);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
@@ -57,32 +78,39 @@ public class TimeUtils {
|
||||
* 将过去的时间转为为,刚刚,xx秒,xx分钟,xx小时前、xx天前,大于3天的显示日期
|
||||
*/
|
||||
public static String formatTimeAgo(Date dateTime) {
|
||||
return formatTimeAgo(dateTime, AGO_CN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将过去的时间转为为,刚刚,xx秒,xx分钟,xx小时前、xx天前,大于3天的显示日期
|
||||
*/
|
||||
public static String formatTimeAgo(Date dateTime, String[] lang) {
|
||||
String interval = null;
|
||||
// 得出的时间间隔是毫秒
|
||||
long time = System.currentTimeMillis() - dateTime.getTime();
|
||||
// 如果时间间隔小于10秒则显示“刚刚”time/10得出的时间间隔的单位是秒
|
||||
if (time / 1000 < 10 && time / 1000 >= 0) {
|
||||
interval = "刚刚";
|
||||
interval = lang[0];
|
||||
}
|
||||
// 如果时间间隔大于24小时则显示多少天前
|
||||
else if (time / 3600000 < 24 * 4 && time / 3600000 >= 24) {
|
||||
int d = (int) (time / (3600000 * 24));// 得出的时间间隔的单位是天
|
||||
interval = d + "天前";
|
||||
interval = d + lang[4];
|
||||
}
|
||||
// 如果时间间隔小于24小时则显示多少小时前
|
||||
else if (time / 3600000 < 24 && time / 3600000 >= 1) {
|
||||
int h = (int) (time / 3600000);// 得出的时间间隔的单位是小时
|
||||
interval = h + "小时前";
|
||||
interval = h + lang[3];
|
||||
}
|
||||
// 如果时间间隔小于60分钟则显示多少分钟前
|
||||
else if (time / 60000 < 60 && time / 60000 >= 1) {
|
||||
int m = (int) ((time % 3600000) / 60000);// 得出的时间间隔的单位是分钟
|
||||
interval = m + "分钟前";
|
||||
interval = m + lang[2];
|
||||
}
|
||||
// 如果时间间隔小于60秒则显示多少秒前
|
||||
else if (time / 1000 < 60 && time / 1000 >= 10) {
|
||||
int se = (int) ((time % 60000) / 1000);
|
||||
interval = se + "秒前";
|
||||
interval = se + lang[1];
|
||||
}
|
||||
// 大于3天的,则显示正常的时间,但是不显示秒
|
||||
else {
|
||||
|
||||
@@ -62,7 +62,7 @@ public class FrontSearchController extends BaseController{
|
||||
parmas.put("siteCode", siteCode);
|
||||
}
|
||||
page = articleService.searchPage(page, q, qand, qnot, bd, ed, parmas);
|
||||
page.setPageInfo("匹配结果,共耗时 " + TimeUtils.formatDateAgo(System.currentTimeMillis() - start) + "。");
|
||||
page.setPageInfo("匹配结果,共耗时 " + TimeUtils.formatTime(System.currentTimeMillis() - start) + "。");
|
||||
model.addAttribute("page", page);
|
||||
}
|
||||
|
||||
|
||||
@@ -234,7 +234,7 @@ public class Log extends DataEntity<Log> {
|
||||
if (executeTime == null) {
|
||||
executeTime = 0L;
|
||||
}
|
||||
return TimeUtils.formatDateAgo(executeTime);
|
||||
return TimeUtils.formatTime(executeTime);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -105,7 +105,7 @@ public class OnlineController extends BaseController{
|
||||
}
|
||||
map.put("startTimestamp", DateUtils.formatDateTime(session.getStartTimestamp()));
|
||||
map.put("lastAccessTime", DateUtils.formatDateTime(session.getLastAccessTime()));
|
||||
map.put("timeout", TimeUtils.formatDateAgo(session.getTimeout()-(currentTime-session.getLastAccessTime().getTime())));
|
||||
map.put("timeout", TimeUtils.formatTime(session.getTimeout()-(currentTime-session.getLastAccessTime().getTime())));
|
||||
map.put("userCode", session.getAttribute("userCode"));
|
||||
map.put("userName", session.getAttribute("userName"));
|
||||
map.put("userType", session.getAttribute("userType"));
|
||||
|
||||
Reference in New Issue
Block a user