以前后端返回一个 createTime 字段一般的处理方法就是直接前端展示就完事了。
例如百度贴吧:
最近要做一个评论回复功能,想着再直接展示 某人于 2020/3/6 16.42 回复@某某 就稍显不合适了,一大段日期占用一大块地方,在 App 或者小程序这种移动端上看起来就及其碍眼,而且意思表述也不清晰,可以说用户体验很差了。
为此就像做成像掘金这样:
显示用户是几小时前回复的。
说干就干,下面上工具类的代码:
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class TimeAgoUtils {
private static final long ONE_MINUTE = 60000L;
private static final long ONE_HOUR = 3600000L;
private static final long ONE_DAY = 86400000L;
private static final long ONE_WEEK = 604800000L;
private static final String ONE_SECOND_AGO = "秒前";
private static final String ONE_MINUTE_AGO = "分钟前";
private static final String ONE_HOUR_AGO = "小时前";
private static final String ONE_DAY_AGO = "天前";
private static final String ONE_MONTH_AGO = "月前";
private