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;
相关推荐
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9653 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处3 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
Unbelievabletobe3 小时前
解决了股票api接口盘后数据更新慢的问题
大数据·开发语言·python
不会C语言的男孩4 小时前
C++ Primer 第2章:变量和基本类型
开发语言·c++
小江的记录本4 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处4 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫5 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源5 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
云泽8085 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法