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;
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    组合数学
    gcd和lcm
    快速幂
    线性求逆元
    5月月赛(* ̄︿ ̄)
    通往奥格瑞玛的道路
    Dijkstra学习笔记
    动态规划笔记(2)
    美军战略指导:《维持美国的世界领导力:21世纪国防的优先事项》
    ACM/ICPC2016沈阳网络赛(不完全)解题报告
  • 原文地址:https://www.cnblogs.com/hujunwei/p/14191817.html
Copyright © 2011-2022 走看看