zoukankan      html  css  js  c++  java
  • SpringBoot系列---【如何优雅的格式化实体类中的日期的返回格式?】

    前提

    url: jdbc:mysql://localhost:33306/jiulong?characterEncoding=utf-8&serverTimezone=Asia/Shanghai

    推荐写法:

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    
    注意1.此时就不能用java中的new Date()添加创建时间了,要用LocalDateTime.now();
        2.@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")注解中加不加时区都不影响了,
         之所以要加@JsonFormat,是因为默认格式"2021-01-08T01:03:53"中带个“T”,加注解就是为了去掉这个“T”。

    方法一

    springboot默认使用jackson解析
    
    spring:
    
      jackson:
    
        date-format: yyyy-MM-dd HH:mm:ss

    方法二

    //直接在属性上使用@JsonFormat注解
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    注意:若存在时差,则用@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

    方法三

     
    public class Date2LongSerializer extends JsonSerializer<Date> {
     @Override
     public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
     jsonGenerator.writeNumber(date.getTime() / 1000);
     }
    }
     
     //在实体类属性上加上
    @JsonSerialize(using
    = Date2LongSerializer.class) private Date updateTime;
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    团队十日冲刺1
    第八周学习进度
    人月神话阅读笔记02
    课堂练习-顶会热词统计
    第七周学习进度
    《vim — vimrc的设置》
    《开发板 — 调试串口》
    《网络编程 — 127.0.0.1的作用》
    《网络编程 — INADDR_ANY的含义》
    《开发板 — 上查看串口信息》
  • 原文地址:https://www.cnblogs.com/hujunwei/p/14191817.html
Copyright © 2011-2022 走看看