解决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"

posted @   2405720158  阅读(241)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示