万码 的笔记

小了白了兔白了又了白

2018-01-11 16:33

获得显示一个友好的时间

万码

JavaEE

(1343)

(0)

收藏

blog

项目当中需要再文章笔记阅读页面显示文章时间,想把时间显示成“刚刚”“昨天”等这样的友好时间格式,自己可以整理一下写一个简单的临时先用着。

public static String friendlyTime(Date date) {  
        Date now = new Date();  
        long yearOfNow = DateUtils.truncate(now, Calendar.YEAR).getTime();  
        long dayOfNow = DateUtils.truncate(now, Calendar.DAY_OF_MONTH).getTime();  
        long dayOfDate = DateUtils.truncate(date, Calendar.DAY_OF_MONTH).getTime();  
        long n = now.getTime();  
        long e = date.getTime();  
        if (e < yearOfNow) {  
            return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);  
        }  
        if ((dayOfNow - dayOfDate) == (24 * 60 * 60 * 1000)) {  
            return new SimpleDateFormat("昨天  HH:mm").format(date);  
        }  
        if ((dayOfNow - dayOfDate) == (24 * 60 * 60 * 2 * 1000)) {  
            return new SimpleDateFormat("前天  HH:mm").format(date);  
        } 
        if (e < dayOfNow) {  
            return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);  
        }  
        if (n - e > 60 * 60 * 1000) {  
            return new SimpleDateFormat("今天  HH:mm").format(date);  
        }  
        if (n - e > 60 * 1000) {  
            return (long) Math.floor((n - e) * 1d / 60000) + "分钟前";  
        }  
        if (n - e > 1 * 1000) {  
            return "刚刚";  
        }  
        return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);  
    }


0条评论

点击登录参与评论