场景1:多少秒前,多少分钟前,多少小时前
public static String getRecentTimeSpanByNow(final long millis) {
long now = System.currentTimeMillis();
long span = now - millis;
if (span < 1000) {
return "刚刚";
} else if (span < TimeConstants.MIN) {
return String.format(Locale.getDefault(), "%d秒前", span / TimeConstants.SEC);
} else if (span < TimeConstants.HOUR) {
return String.format(Locale.getDefault(), "%d分钟前", span / TimeConstants.MIN);
} else if (span < TimeConstants.DAY) {
return String.format(Locale.getDefault(), "%d小时前", span / TimeConstants.HOUR);
} else if (span < TimeConstants.MONTH) {
return String.format(Locale.getDefault(), "%d天前", span / TimeConstants.DAY);
} else if (span < TimeConstants.YEAR) {
return String.format(Locale.getDefault(), "%d月前", span / TimeConstants.MONTH);
} else if (span > TimeConstants.YEAR) {
return String.format(Locale.getDefault(), "%d年前", span / TimeConstants.YEAR);
} else {
return String.format("%tF", millis);
}
}
场景2:一秒钟前:刚刚
一分钟前:%d秒前
一小时前:%d分钟前
今天 :HH:mm
昨天 :昨天 HH:mm
一周内 :星期一 HH:mm
一周后 :yyyy-MM-dd HH:mm
public static String getTimestampString(long time) {
long now = System.currentTimeMillis();
long span = now - time;
if (span < 1000) {
return "刚刚";
} else if (span < TimeConstants.MIN) {
return String.format(Locale.getDefault(), "%d秒前", span / TimeConstants.SEC);
} else if (span < TimeConstants.HOUR) {