【Java可复用工具类-评论时间】传入LocalDateTime参数,返回一个时间【过去、昨天、今天】。

1、效果

【Java可复用工具类-评论时间】传入LocalDateTime参数,返回一个时间【过去、昨天、今天】。_第1张图片
【Java可复用工具类-评论时间】传入LocalDateTime参数,返回一个时间【过去、昨天、今天】。_第2张图片

2、代码

import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

@Component
public class DateTimeResult {
    public String getTime(LocalDateTime commentTime) {
        //获取当天日期和时间
        LocalDateTime nowTime = LocalDateTime.now();
        //获取当天日期
        LocalDate nowDate = LocalDate.now();
        //获取当天0点时间
        LocalDateTime zoneTime = LocalDateTime.of(nowDate,LocalTime.MIN);
        //获取一个计算属性,计算评论时间和当前时间的间隔
        Duration duration = Duration.between(commentTime,nowTime);
        Duration duration1 = Duration.between(zoneTime,nowTime);
        //计算评论距离现在时间的小时数
        long hours = duration.toHours();
        //计算当前时间距离今天0点的小时数
        long zoneHour = duration1.toHours();
        String s;
        //判断评论时间是否处于今天或者昨天
        if (hours<=24+zoneHour){
            //判断是昨天还是今天
            if(hours < zoneHour){
                //今天,去掉日期,保留时间
                s = "今天"+ LocalTime.from(commentTime);
            }else{
                //昨天
                s = "昨天"+ LocalTime.from(commentTime);
            }
        }else{
            //不在今天和昨天范围内,去掉时间,保留日期
            LocalDate date = LocalDate.from(commentTime);
            s= ""+date;
        }
        return s;
    }
}

大家自己在项目中创一个工具类存放该代码,可以随处使用,就酱紫~

你可能感兴趣的:(Java面向对象程序设计,java,开发语言)