SpringBoot如何实现LocalDateTime日期转换
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下SpringBoot如何实现LocalDateTime日期转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、LocalDateTime日期转换两个问题1.前端传
千家信息网最后更新 2025年01月31日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软件开发网
数据库查询某表最大值
mc离线服务器1.16.5
南京烽火科技做软件开发
网络安全技术与实训第四版pdf
软件开发工具什么用途
《广西网络安全知识竞赛》
在命令行中连接数据库
辽宁城管通软件开发系统
arduino无线连接数据库
机床自动化软件开发
网络安全素质大赛
信息网络安全检查台账
ipv6服务器测试
数据库技术 提交
梁平数据库修复
服务器污染导致网站瘫痪
数据库通用字典表
crm系统数据库数据
上海数据软件开发服务创意
计算机网络技术 视频
dell 510服务器
网络安全教育内容记录
荣耀全明星应该选什么服务器
上海新能源软件开发价格实惠
互联网科技新能源
国家数据库怎么下载
网络安全宣传周以什么为主题