Spring Boot默认的时间格式是:yyyy-MM-dd HH:mm. 在项目中,可能每个时间都需要秒,解决办法之一是在每个POJO对应字段加上注解:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"),但是这种方法要给每个POJO的时间字段加注解,比较繁琐。
在网上看到一个全局的配置方法,自己还没有试过,先贴出来作为笔记:
1.添加配置项:spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
2.添加配置类:
@Configuration
public class LocalDateTimeSerializerConfig {
@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
private String pattern;
@Bean
public LocalDateTimeSerializer localDateTimeDeserializer() {
return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
}
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
}
}
如果某些接口对时间格式有特殊要求,还可以在对应的POJO添加注解,POJO的注解优先级高于全局的配置。