最近在使用阿里巴巴的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 Chonghu
13 * @Date: 2021/1/27 9:51
14 * @Copyright: Xi'an Dian Tong Software Co., Ltd. All Rights Reserved.
15 * @Version 1.0
16 */
17 @Configuration
18 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 @Bean
22 public LocalDateTimeSerializer localDateTimeDeserializer() {
23 return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
24 }
25 @Bean
26 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,下课!!!

LocalDateTime去掉T的更多相关文章

  1. springmvc传参---LocalDateTime、Date等时间类型转换

    此处定义的dateConvert用来转换Date类型,如果是LocalDate.LocalDateTime类型,则将Date类型换成相应的类型即可,注意java8的日期类型需要用Formatter格式 ...

  2. java 8 LocalDateTime 20 例

    http://www.importnew.com/15637.html 伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实 ...

  3. 【转载】java8中的Calendar日期对象(LocalDateTime)

    Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...

  4. 解决json字符串转为对象时LocalDateTime异常问题

    1 出现异常 这次的异常出现在前端向后端发送请求体里带了两个日期,在后端的实体类中,这两个日期的格式都是JDK8中的时间类LocalDateTime.默认情况下,LocalDateTime只能解析20 ...

  5. Java8 ,LocalDate,LocalDateTime处理日期和时间工具类,

    Java8 ,LocalDate,LocalDateTime处理日期和时间工具类 1.获取今天的日期 2.在Java 8 中获取年.月.日信息 3.在Java 8 中处理特定日期 4.在Java 8 ...

  6. 后端统一处理返回前端日期LocalDateTime格式化去T,Long返回前端损失精度问题

    一.前言 我们在实际开发中肯定会遇到后端的时间传到前端是这个样子的:2022-08-02T15:43:50 这个时候前后端就开始踢皮球了,!! 后端说:前端来做就可! 前端说:后端来做就可! 作为一名 ...

  7. 最新 去掉 Chrome 新标签页的8个缩略图

    chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...

  8. wget 显示"英国中部时间",去掉烦人的刷屏显示

    wget下载文件显示多行,进度条后面显示英国中部时间,非常让人郁闷. 本来英文是eta(Estimated Time of Arrival 预计到达时间),翻译错了,干脆去掉好了. 先要有两个个工具 ...

  9. String 中去掉空格

    JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 ...

随机推荐

  1. 一.C语言概述

    C语言的起源 贝尔实验室的Dennis Ritchie在1972年开发了C,当时他正与ken Thompson一起设计UNIX操作系统,然而,C并不是完全由Ritchie构想出来的.它来自Thomps ...

  2. git使用下

    Git 内部工作原理 Git 本质上是一个内容寻址文件系统,最初是一套面向版本控制系统的工具集,而不是一个完整的用户友好的版本控制系统.因此它还包含了一些用于完成底层工作的命令,这些命令被称为&quo ...

  3. 学习 Gin 总结(2020.12.30-31)

    2020.12.30 问题总结 中间件 context.Next() 源码注释: // Next should be used only inside middleware. // It execut ...

  4. 使用jmeter进行压力测试与nginx连接数优化

    案例训练目标 学会使用jmeter工具 学会配置nginx连接数优化 包含技能点 使用jmeter做压力测试 配置nginx的并发连接数 环境要求 PC支持VT,4G内存以上:vmware虚拟机安装有 ...

  5. Vue 面试题总结

    1. Vue 框架的优点是什么? (1)轻量级框架:只关注视图层,大小只有几十Kb:     (2)简单易学:文档通顺清晰,语法简单:     (3)数据双向绑定,数据视图结构分离,仅需操作数据即可完 ...

  6. TurtleBot3 Waffle (tx2版华夫)(6)

    重要提示:请在配网通信成功后进行操作,配网后再次开机需要重新验证通信: 重要提示:[Remote PC]代表PC端.[TurtelBot]代表树莓派端: 操作步骤如下: 1)[Remote PC] 启 ...

  7. python 文章集合

    Python profiling tools 我常用的 Python 调试工具

  8. maven项目pom.xml解析

  9. 小米11和iPhone11 哪个好

    小米11:搭载最新一代三星的AMOLED屏幕,120Hz屏幕刷新iPhone11采用6.1英寸的分辨率1792828的LCD屏幕小米手机爆降800 优惠力度空前机会不容错过https://www.xi ...

  10. 机器学习算法-logistic回归算法

    Logistic回归算法调试 一.算法原理 Logistic回归算法是一种优化算法,主要用用于只有两种标签的分类问题.其原理为对一些数据点用一条直线去拟合,对数据集进行划分.从广义上来讲这也是一种多元 ...