Springmvc 如何接收java8的时间localDateTime。

最近新起了项目用了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)数据。

猜你喜欢

转载自blog.csdn.net/yifouhu2947/article/details/84783954