在spring项目中,时间格式是不会自动解析的,所以一般我们都会在实体类里用两个注解进行解析:
前台传参使用 : @DateTimeFormat(pattern = "yyyy--MM-dd")
前台传参使用 : @DateTimeFormat(pattern = "yyyy--MM-dd")
后台从库中查询使用 : @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8"
平时一直这样使用,直到到有一次前台接受的还是没有解析的时间格式,我就郁闷了,进过排查发现了点问题:
问题 : @JsonFormat是jackson包的注解:
而公司项目里配置的是FastJson包:
所以问题就出来了,因为FastJson不存在@JsonFormat注解,所以使用它无效.
解决 : 在启动类里配置好想要获取的时间日期格式就好了.
补充 : 有朋友评论补充了一个@JsonField注解,亲测有效(不过以上方法还是有效的),在这里再补充一下下:
@JSONField(format = "yyyy-MM-dd HH:mm:ss") //FastJson包使用注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //Jackson包使用注解
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //格式化前台日期参数注解
private Date createTime;
注 : 有朋友知道google的Gson包里注解的话, 欢迎评论留言!!!