注解转换日期格式:数据库时间和Java时间

1  前言

    日期在Mysql数据库存储格式为datetime/timestamp;在Java实体类定义为Date/Timestamp

@Data
public class A {
    private Date createTime;    // 创建时间
}

    如果自动解析到前端,得到的日期格式是这样的,这个是springboot的日期默认显示格式。

    {
        "createTime": "2021-04-06T05:32:12.000+00:00"
    }

    此时如果我们想要这样的:    

    {
        "createTime": "2021-04-06 13:32:12"
    }

2  注解

  1.  我们如果用的Jackson,只需要在createTime字段上添加如下注解即可:
@Data
public class A {
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;              // 创建时间
}

      2.  如果我们想指定存到数据库的日期格式,在createTime字段上添加注解:

@Data
public class A {
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date createTime;    // 创建时间
}

       3. 如果我们想配置全局的,在application.properties / application.yml:

// application.properties
spring.jackson.date-format= yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8


// application.yml
spring:
  # 配置日期格式化
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss  #时间戳统一转换为指定格式
    time-zone: GMT+8  # 时区修改为东8区

 

 

 

 

    原文作者:gaosuam
    原文地址: https://blog.csdn.net/a24b86/article/details/116003669
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞