LocalDateTime转化成字符串(显示xx分钟/小时/月前) 工具类

public class DateCal {

    /**
     * 一分钟之前的,显示刚刚
     * 几分钟前的,显示N分钟前;
     *
     * 大于1小时小于1天的,显示N小时前;
     *
     * 大于1天的,显示N天前;
     *
     * 大于1个月的,显示N个月前;
     *
     * 大于1年的,显示具体时间 年-月-日  时:分
     * @param time
     * @return
     */
    public static String getDateCompareNow(LocalDateTime time){
        String result = "";
        if (time == null){
            return result;
        }
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        int year = now.getYear() - time.getYear();
        int month = now.getMonthValue() - time.getMonthValue();
        int day = now.getDayOfMonth() - time.getDayOfMonth();
        int hour = now.getHour() - time.getHour();
        int minute = now.getMinute() - time.getMinute();
        if (year>0){
             result = time.format(formatter);
        }else if (month>0){
            result += month+"月前";
        }else if (day>0){
            result += day+"天前";
        }else if (hour>0){
            result += hour+"小时前";
        }else if (minute>0){
            result += minute+"分钟前";
        }else {
            result += "刚刚";
        }
        return result;
    }

版权声明:本文为EDT777原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。