Java日期格式化注解@DateTimeFormat和@JsonFormat

@DateTimeForma

这个注解主要用于处理从前端传递到后端的日期和时间数据。当你的 Spring 应用程序接收到一个 http请求,并且请求参数包含日期和时间数据时,@DateTimeFormat 可以帮助你将这些数据解析为 Java DateLocalDateTime 对象。

@JsonFormat

这个注解主要用于处理从后端传递到前端的日期和时间数据。当你的应用程序需要将 DateLocalDateTime 对象序列化为 JSON 格式以发送到前端时,@JsonFormat 可以帮助你控制日期和时间的格式。

参数说明

1、@JsonFormat 的参数:

pattern:定义日期/时间的格式,例如 "yyyy-MM-dd HH:mm:ss"。

shape:定义值的形状(例如,是否应视为数组)。默认值为 Shape.ANY。

locale:定义用于格式化的区域设置。默认值为空,表示使用默认的 Locale。

timezone:定义用于格式化的时区。默认值为空,表示使用默认的 TimeZone。

lenient:定义解析是否宽松。默认值为 OptBoolean.DEFAULT。

2、@DateTimeFormat 的参数:

iso:定义 ISO 格式,例如 ISO.DATE。

pattern:定义日期/时间的格式,例如 "yyyy-MM-dd HH:mm:ss"。

style:定义样式模式,例如 "SS"。

示例

复制代码
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date date;
相关推荐
Flynt8 小时前
OpenJDK禁AI代码半年了,现在执行得怎么样?答案是:全靠自觉
java·开源·ai编程
古法安卓13 小时前
Android-日志系统源码解析
android·java·android studio
小夏coding14 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进
java·后端
MacroZheng15 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
十年Java程序媛17 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko17 小时前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
用户31268748772020 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang20 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing20 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
吃饱了得干活21 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端