当前位置:主页 > 软件编程 > JAVA代码 >

使用@JsonFormat的一个坑及解决

时间:2022-10-24 08:53:19 | 栏目:JAVA代码 | 点击:

使用@JsonFormat的一个坑及解决

spring boot项目 ,mysql数据库的datetime数据类型无法使用@JsonFormat解析 ,使@JsonFormat注解失效 。

原因不明 ,解决方案未明-待。。

有一个解决方案:

@JsonFormat注解在字段解析的时候失效了 ,但是放在application.yml配置文件中可以生效。具体原因不明 ,猜测底层覆盖掉format方法 或者Jackson 默认走配置文件的方式?

解决如下

 spring:
  jackson:
      date-format: yyyy-MM-dd HH:mm:ss
      time-zone: GMT+8

同级 spring.jackso.date-formact

JsonFormat的时间格式踩坑

使用JsonFormat注解来处理时间格式时,一定要注意规范写日期格式,否则会出现奇奇怪怪的时间转换bug

正确格式

@JsonFormat(partten="yyyy-MM-dd",timezone="GMT+8")
private Date startDate;

错误格式:输出的时间会变成每月1号

@JsonFormat(partten="yyyy-mm-dd",timezone="GMT+8")
private Date startDate;

正确格式

@JsonFormat(partten="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startDate;

错误格式:输出时间会早10小时

@JsonFormat(partten="yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
private Date startDate;

您可能感兴趣的文章:

相关文章