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;
相关推荐
呱牛do it1 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 3)
java·vue
神の愛2 小时前
左连接查询数据 left join
java·服务器·前端
t***5442 小时前
如何配置Orwell Dev-C++使用Clang
开发语言·c++
CoderCodingNo2 小时前
【信奥业余科普】C++ 的奇妙之旅 | 13:为什么 0.1+0.2≠0.3?——解密“爆int”溢出与浮点数精度的底层原理
开发语言·c++
南境十里·墨染春水2 小时前
linux学习进展 线程同步——互斥锁
java·linux·学习
雨奔3 小时前
Kubernetes 联邦 Deployment 指南:跨集群统一管理 Pod
java·容器·kubernetes
杨凯凡3 小时前
【021】反射与注解:Spring 里背后的影子
java·后端·spring
lulu12165440783 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
riNt PTIP3 小时前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
老星*3 小时前
AI选股核心设计思路
java·ai·开源·软件开发