最近新起了项目用了LocalDateTime作为时间处理对象。(java8开始有的)
发现在前端传来的json串中如果传了形如 "2018-12-4 10:12:46"想直接解析成localDateTime会报错。
原因在于缺少了jackson的jsr310包,还有就是对应的时间上面必须加上@Jsonfromat注解。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime userBirthday;
maven父pom中引入即可
<dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>${jackson.localtime.version}</version> </dependency>
${jackson.localtime.version}可为2.6.1 如果你不是springboot的项目是用老的ssm,建议就用2.6.1 版本太高的话 spring的版本低的话无法兼容。
最后在web层把maven引入即可。
上图中还加入了
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 是为了解析表单数据的(form/data)数据。