Jackson 统一配置 日期转换格式

简介: Jackson 统一配置 日期转换格式

1.配置文件中进行修改

1. jackson:
2.     date-format: yyyy-MM-dd HH:mm:ss

这样序列化后,Date类型会被格式化成配置中的格式。

2.配置类中配置

创建JacksonConfig.java

@Configuration
public class JacksonConfig {
    @Bean
    @Order(Ordered.HIGHEST_PRECEDENCE)
    public Jackson2ObjectMapperBuilderCustomizer customJackson() {
        return new Jackson2ObjectMapperBuilderCustomizer() {
            @Override
            public void customize(Jackson2ObjectMapperBuilder builder) {
                builder.serializerByType(LocalDateTime.class,
                        new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                builder.serializerByType(LocalDate.class,
                        new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                builder.serializerByType(LocalTime.class,
                        new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
                builder.deserializerByType(LocalDateTime.class,
                        new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                builder.deserializerByType(LocalDate.class,
                        new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                builder.deserializerByType(LocalTime.class,
                        new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
                builder.serializationInclusion(JsonInclude.Include.NON_NULL);
                builder.failOnUnknownProperties(false);
                builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
            }
        };
    }
}

1、Springboot默认使用的json解析框架是jackson框架


2、jackson解析框架在解析实体类里面是Date数据类型的数据时的默认格式是:UTC类型,即yyyy-MM-dd’T’HH:mm:ss.SSS 并且默认为+8时区,即时间基础上加8小时


请求数据格式为: 'yyyy-MM-dd HH:mm:ss',但是在接收到数据的时候,需要通过jackson把数据转化成Dto对象。jackson转化的时候,默认的时间格式是 'yyyy-MM-dd'T'HH:mm:ss.SSS’,


相关文章
|
JSON 前端开发 Java
SpringBoot中Date格式化处理
日期格式化处理:从混乱到清晰,轻松转换日期格式
1176 1
LocalDateTime的全局自定义序列化
LocalDateTime的全局自定义序列化
|
8月前
|
存储 安全 IDE
告别样板代码:Java Record如何让你的数据类更简洁
告别样板代码:Java Record如何让你的数据类更简洁
548 112
|
Java Spring
SpringBoot的@Value注解如何设置默认值
SpringBoot的@Value注解如何设置默认值
1290 1
|
5月前
|
弹性计算 人工智能 运维
2026年阿里云秒级部署OpenClaw(Clawdbot)并接入skills保姆级教程
2026年,OpenClaw(原Clawdbot,曾用名Moltbot)凭借轻量化架构、高适配性及强大的自动化能力,成为阿里云生态下最热门的AI自动化代理工具,其秒级部署方案彻底打破开源工具的技术门槛,无需复杂环境配置,零基础新手也能轻松上手。OpenClaw本身仅提供核心编排框架,而Skills作为其“能力扩展插件”,能赋予它网页浏览、邮件管理、数据统计、多平台联动等实操能力,二者结合可快速搭建专属智能助手,适配个人办公、企业运维、AI创意生产等多场景。
1055 6
|
7月前
|
JSON Java fastjson
Spring Boot返回Json数据及数据封装
Spring Boot默认使用Jackson处理JSON,通过@RestController可直接返回JSON数据。本文详解Jackson与FastJson的配置与对比,并封装统一的JSON返回结构,提升前后端交互规范性与开发效率。
|
Java 测试技术 API
我们来说说如何使用 Lambda 表达式实现排序功能
我是小假 期待与你的下一次相遇 ~
458 7
|
JSON 前端开发 Java
List<String> 如何传参
List<String> 如何传参
1916 0
|
Java 开发者 Spring
springboot @RequiredArgsConstructor @Lazy解决循环依赖的原理
【5月更文挑战第16天】在Spring Boot中,@RequiredArgsConstructor 和 @Lazy 是两个有用的注解,它们分别用于简化构造函数的生成和控制Bean的加载时间。下面详细解析这两个注解的概念、优缺点以及在实际应用中的示例。
2364 1
|
监控 网络协议 Java
如何在Spring Boot中使用WebSocket
如何在Spring Boot中使用WebSocket
3539 0