最近开发中碰到了一个坑爹的事情:移动端生日字段传了一个yyyy-mm-dd格式的字符串到服务器,实体类使用@DateTimeFormat(pattern=“yyyy-mm-dd”)样式解析存储,然后在客户端读取的时候,读出来的生日比上传的生日少了1天,研究了好久,找了好多方法,最后发现,@DateTimeFormat 注解中有一个 ISO 默认使用 ISO.NONE 格式,这样在上传的时候不进行ISO标准的格式化,在读的时候又按照ISO标准的格式化,就出现时间不对的问题。
解决方法 @DateTimeFormat(pattern=“yyyy-mm-dd”,iso=DateTimeFormat.ISO.DATE),指定使用ISO格式解析