添加日期字段,想要显示2000-01-01格式,却出现2000-01-01 00:00:00的情况或者反之
写springboot项目的时候出现时间格式错误使用
@DateTimeFormat(pattern = “yyyy-MM-dd”)或者
@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
就可以修改和显示日期
在mybatis中却不可以,理由在下面归纳
需要写@JsonFormat这个注解
@JsonFormat(pattern = “yyyy-MM-dd”,timezone = “GTM+8”)
//pattern是日期格式,timezone是时区
private Date studentBirthday;
原因:
@JsonFormat既可以约束前端传入的时间类型参数格式,也可以约束后端响应前端的时间类型格式;
@DateTimeFormat只能约束前端传入的时间类型参数格式,且如果单独使用@DateTimeFormat时,响应给前端的时间会比实际时间晚8个小时(时区原因)。需要设置时区(timezone = “GTM+8”)
通俗些说
我们在前台写的日期,提交到后台,我们希望直接变为data类型,这样直接窜入数据库,而不是string接收然后在通过simpleDateFormat进行格式转换,可以直接使用@DateTimeFormat注解(@DateTimeFormat注解解决前台string类型与后台date类型的转换)
我们从数据库查询到了日期,然后要把日期转变成string类型显示,就可以直接使用@JsonFormat注解(@JsonFormat注解解决后台date类型与前台string类型的转换)