LocalDateTime去掉T
发布日期:2021-05-13 01:13:06 浏览次数:23 分类:博客文章

本文共 2063 字,大约阅读时间需要 6 分钟。

最近在使用阿里巴巴的fastjson反序列化对象的时候,对象里面时间格式属性总是会多了一个T

 2021-1-09T18:29:09.097

这个T是啥国际标准,但是我们的前端又不需要这个T,所以就要想办法去掉T。

先看代码

1、添加 LocalDateTimeSerializerConfig ,这个照搬过去就行了

1 package com.dt.cloud.config; 2  3 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; 4 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; 5 import org.springframework.context.annotation.Bean; 6 import org.springframework.context.annotation.Configuration; 7 import java.time.LocalDateTime; 8 import java.time.format.DateTimeFormatter; 9 10 /**11  * @Description: 去掉LocalDateTime带T的问题12  * @author: Zhang Chonghu13  * @Date: 2021/1/27 9:5114  * @Copyright: Xi'an Dian Tong Software Co., Ltd. All Rights Reserved.15  * @Version 1.016  */17 @Configuration18 public class LocalDateTimeSerializerConfig {19     @org.springframework.beans.factory.annotation.Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")20     private String pattern;21     @Bean22     public LocalDateTimeSerializer localDateTimeDeserializer() {23         return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));24     }25     @Bean26     public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {27         return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());28     }29 30 }

 

在给小白们看看这个目录,我们项目是有个config包专门管理这些config配置类的

 

 

2、做完配置,就要做一些代码的操作了

 

1     @JSONField(name="CreateTime") 2     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 3     private LocalDateTime createTime; 4  5     @JSONField(name="CreateBy") 6     private Integer createBy; 7  8     @JSONField(name="ChangeTime") 9     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")10     private LocalDateTime changeTime;

 

注意,我这两个时间属性是在Queue实体类中的,这里就贴这两个属性的代码出来。这里要做的就是加上@JsonFormat,上图

 

 

3、重点来了,注意看,我是先重数据库中查询出queue这个对象,在利用阿里巴巴直接序列化这个queue对象

 

 

这里要说明的是,因为业务需要,我要把整个对象返回,所以要序列化这个对象,再序列化那两个时间属性,如果我们只需要时间属性,不需要其他属性,直接序列化时间属性返回就行了。

0k,下课!!!

上一篇:RestTemplate post请求
下一篇:git 清除本地git commit的内容

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月06日 07时09分41秒