这两天碰到一个很头疼的bug,网上没有搜到解决方案,最后自己找到,就写出来避免有人也跟我碰到同样问题.
@JsonFormat这个注解大家应该都用过,就是将实体类中的date时间类型可以以字符串形式显示前台,就是我们常见的2000-1-1或者2000/1/1这种,但是我在编写过程中,注解添加无误(至少我这么认为),前台时间显示就是少一天,我后台和数据库全是正确的,所以肯定是前台获取数据除了问题,但是注解也加了呀,有啥问题,后来发现很简单......
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
实体类注解刚开始是这么写的,也没啥错误呀....
但当我把注解参数稍微修改一下后...
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
就正常了~~~时间显示正确了!就很无语
也就是timezone = "GMT+8"必须放后面.具体我也不知道为啥,可能是格式没转换之前修改时区timezone = "GMT+8"这个无效?有大神路过欢迎讲解一下
博主在使用@JsonFormat注解处理日期时间格式时遇到一个奇怪的问题,前端时间显示比实际少一天。经过排查,发现问题出在timezone参数的位置。原本配置为`@JsonFormat(timezone=GMT+8 pattern=yyyy-MM-dd)`,改为`@JsonFormat(pattern=yyyy-MM-dd timezone=GMT+8)`后,时间显示恢复正常。原因未知,期待大神解答。

197

被折叠的 条评论
为什么被折叠?



