解决Springboot3.x 日期格式化的问题
Java8之后新出的日期时间类LocalDateTime比传统的Date类使用更加方便, 更重要的是LocalDateTime可以和Mysql中的时间类型DateTime类型匹配,无需添加格外的转换操作。
但是也存在一个小问题,LocalDateTime返回给前端的默认样式为 "2024-08-05T15:37:09",需要格式化的时候就不能按照格式化Date类型的方式了
配置也非常简单,新建一个配置类,生成一个Jackson2ObjectMapperBuilderCustomizer类型的Bean即可,并且设置需要的转换格式。
点击查看代码
@Configuration
public class DateFormatForJsonConfig{
@Value("${spring.jackson.date-format}")
private String datePattern;
@Value("${spring.jackson.time-zone}")
private String timeZone;
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer(){
return builder -> builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(
DateTimeFormatter.ofPattern(datePattern).withZone(ZoneId.of(timeZone))
));
}
}
然后即可成功格式化LocalDateTime类型:"2024-08-05 15:37:20"
浙公网安备 33010602011771号