工具向:一个工具类完美解决前后端时间戳与String的转换以及LocalDateTime的带T的解决

该博客介绍了Java中处理时间的工具类TimeUtils,包括将时间戳转换为日期时间格式,LocalDateTime与字符串之间的转换,以及格式化返回给前端的时间。类中提供了多种时间格式化方法,适用于毫秒和秒两种粒度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:

  1. 数据库中时间格式是dateTime

在这里插入图片描述

  1. JAVA类中以LocalDateTime 对应数据库中的dateTime在这里插入图片描述

工具类:

注: 默认是以毫秒为粒度 以秒为粒度需要放开秒的注释

/**
 * @author luo qinfeng
 */
@Component
public class TimeUtils {

    /**
     * 格式化传入的时间戳(毫秒)
     * @param timeStamp
     * @return
     */
    private String TimeStampToTime(String timeStamp){
        String formats = "yyyy-MM-dd HH:mm:ss";
        //粒度:毫秒
        Long timestamp = Long.parseLong(timeStamp) ;
        //粒度:秒
        //  Long timestamp = Long.parseLong(timeStamp)  * 1000 ;
        return new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
    }

    /**
     * Stinrg -> LocalDateTime
     * @param time
     * @return
     */
    private LocalDateTime StringTimeToLocalDateTime(String time){

        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime localTime = LocalDateTime.parse(time,df);
        return localTime;
    }

    /**
     * LocalDateTime -> String
     * @param time
     * @return
     */
    private String LocalDateTimeTimeToString(LocalDateTime time){

        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String stringTime = df.format(time);
        return stringTime;
    }


    /**
     * 格式化返回给前端的时间 以毫秒为单位
     * @param stringTime
     * @return
     */
    private Long StringTimeToTimeStamp(String stringTime) {
        Long timestamp = null;
        try {
            timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(stringTime).getTime();

        } catch (ParseException e) {
            e.printStackTrace();
        }
        //是毫秒
        return timestamp;

    }


    /**
     *  格式化localDateTime (2020-11-20T 19:30:56)
     * @param timeFromDataBase
     * @return 2020-11-20 19:30:56
     */
    public String standerFormat(LocalDateTime timeFromDataBase){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String s_timeFromDataBase = formatter.format(timeFromDataBase);
        String time = s_timeFromDataBase.replace("T", " ");
        //毫秒
        return time;
        //秒
        // return time/1000;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值