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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM