场景:
在使用springboot的框架下,可以利用@jsonFormat作为注解来消除时差.但是在使用的过程中发现有一种情况下这个注解会失效.
在数据库第一张表table1中我只需要存入小时和秒,而且作比较的时候也是只用来比较小时和秒,于是在insert进去之后,sql server数据库自动的补充上了年,也就是数据库的初始时间的年,如下:
现在我需要从这张表中取出来年插入另一张临时表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;//工单计划结束时间