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