千家信息网

SpringBoot如何实现LocalDateTime日期转换

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下SpringBoot如何实现LocalDateTime日期转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、LocalDateTime日期转换两个问题1.前端传
千家信息网最后更新 2025年12月02日SpringBoot如何实现LocalDateTime日期转换

小编给大家分享一下SpringBoot如何实现LocalDateTime日期转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、LocalDateTime日期转换两个问题

1.前端传入参数时String转换为Date

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String "2020-02-11 12:48:13": Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text '2020-02-11 12:48:13' could not be parsed at index 10; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String "2020-02-11 12:48:13": Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text '2020-02-11 12:48:13' could not be parsed at index 10 at [Source: (PushbackInputStream); line: 4, column: 19] (through reference chain: com.example.demo.model.Test["localDateTime"])

2.后台返回值时Date转换为String

LocalDateTime中间有个"T",其他时间类型时间格式可读性也很差。

二、解决方案

编写一个时间配置类,使用HTTP消息转换器来格式化。

import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * 时间统一配置 */@Configurationpublic class DateConfig {    @Bean    public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {        JavaTimeModule module = new JavaTimeModule();        module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));        module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));        return builder -> {            builder.simpleDateFormat("yyyy-MM-dd hh:mm:ss");            builder.deserializers(new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));            builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")));            builder.modules(module);        };    }}
三、验证效果

1.第一个问题解决效果图:

2.第二个问题解决效果图:

我们可以看到使用了HTTP消息转换器来格式化后,连Date类型也格式化正常了。

看完了这篇文章,相信你对"SpringBoot如何实现LocalDateTime日期转换"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

时间 格式 日期 效果 问题 效果图 消息 篇文章 类型 转换器 配置 两个 前端 参数 可读性 后台 完了 方案 更多 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术入学教育 php怎么预约时间和数据库 软件开发费用测算标准 计算机网络技术买哪种笔记本 徐州个人软件开发诚信合作 数据库表头英文 2016服务器共享盘设置限额 数据库根据年龄计算出生年份 软件开发方向结业实训报告 腾讯云25端口邮件服务器 惠普服务器内存条标签数据怎么看 数据库的规模 北京群力天成网络技术有限公 云展厅用什么软件开发 软件开发经验指什么 海口filecoin服务器 计算机网络技术发展探究 爱古典数据库 济南鲁商网络技术有限公司 lol网三服务器所在地 网络安全分析师职责 1 x企业网络安全防护中级 小程序定制软件开发广告语 浪潮服务器的uid是啥意思 网络安全轮廓手抄报 汇聚青年力量共建网络安全宣传板 冒险岛路西德服务器人还多吗 数据库具有的功能是 裸金属服务器网卡 武汉誉天互联网科技有限公司
0