springboot 自带了jackson来处理时间,但不支持jdk8 LocalDate、LocalDateTime的转换。
对于Calendar、Date二种日期,转换方式有二种:
一、统一application.properties属性配置文件中加入
spring.jackson.dateFormat=yyyy-MM-dd HH:mm:ss
如果你使用了joda第三包下的时间类型,
spring.jackson.jodaDateTimeFormat=yyyy-MM-dd HH:mm:ss
此方法为全局格式,没办法处理差异化。
二、使用jackson的时间注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
需要在每个日期类型上都添加,增加代码量,但更灵活性。
以上二方法不能对jdk8 LocalDate、LocalDateTime起作用,还需要添加jackson转换包,在pom.xml添加
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.9.0</version>
</dependency>
才能生效。