@JsonFormat"失效"以及解决方案

场景:

在使用springboot的框架下,可以利用@jsonFormat作为注解来消除时差.但是在使用的过程中发现有一种情况下这个注解会失效.

在数据库第一张表table1中我只需要存入小时和秒,而且作比较的时候也是只用来比较小时和秒,于是在insert进去之后,sql server数据库自动的补充上了年,也就是数据库的初始时间的年,如下:@JsonFormat


现在我需要从这张表中取出来年插入另一张临时表table2中,

注意就是这里出的错,因为我当时想只需要hh:mm所以我就直接用截取字符串的形式取值的,如下:

之后我的临时表中的数据默认在数据库中是

然后我在查询table2并显示的时候发现用@JsonFormat注解发现了失效的情况.并且只有在超过12点之后就会有误差,如下:



解决方案:

修改sql代码:之前从table1拿到table2的时候是用convert转化和截取了一次,现在可以改成直接拿过来用的,如下:

然后这个时差的问题就解决了.如下:

 @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
 private Date planStartTime;//工单计划生产时间
@JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
 private Date planEndTime;//工单计划结束时间
@JsonFormat

你可能感兴趣的:(在公司碰过的那些壁)