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 注解
- 我们如果用的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区