ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-09-05 00:01:20  阅读:181  来源: 互联网

标签:Java java time 复用 LocalDateTime Duration import LocalDate


1、效果

在这里插入图片描述
在这里插入图片描述

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;
    }
}

点击查看代码
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,time,复用,LocalDateTime,Duration,import,LocalDate
来源: https://www.cnblogs.com/lishilin-glut/p/16656571.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有