1.注解
@JsonFormat @DateTimeFormat
- import com.fasterxml.jackson.annotation.JsonFormat;
- import org.springframework.format.annotation.DateTimeFormat;
- import java.time.LocalDateTime;
- public class Event {
- // 序列化和反序列化时生效
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai",shape=)
- private LocalDateTime eventDate;
- // 仅在接收(反序列化)时生效 (从前端接收 JSON 数据转为 Java 对象)
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createdDate;
- // Getters and Setters
- }
复制代码
- 两个注解的优先级
- 处理 JSON 数据:优先使用 @JsonFormat。
- 处理表单数据或 URL 参数:优先使用 @DateTimeFormat。
- 如果需要处理 两种场景(JSON + 表单),可以同时使用 @JsonFormat 和 @DateTimeFormat,根据详细场景生效。
@JsonFormat 提供多个配置参数,你可以根据需要灵活调解:
- shape:定义序列化的格式(如时间戳或字符串)。
- 常用值:
- JsonFormat.Shape.STRING:将日期序列化为字符串格式。
- JsonFormat.Shape.NUMBER:将日期序列化为时间戳格式。
- pattern:定义日期格式字符串(如 yyyy-MM-dd HH:mm:ss)。
- timezone:指定时区(如 Asia/Shanghai 或 UTC)。
2.全局配置文件(yml)
- spring:
- jackson:
- serialization:
- #是否转换成时间戳 false为否,这个时候可以加上日期格式
- write-dates-as-timestamps: false
- date-format: yyyy-MM-dd HH:mm:ss
- #这是开启的
- spring:
- jackson:
- serialization:
- write-dates-as-timestamps: true
-
复制代码 3.自定义配置文件
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.SerializationFeature;
- import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import java.text.SimpleDateFormat;
- @Configuration
- public class JacksonConfig {
- @Bean
- public ObjectMapper objectMapper() {
- ObjectMapper objectMapper = new ObjectMapper();
- // 设置全局日期格式
- objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
- // 注册 JavaTimeModule 以支持 Java 8 日期时间 API(如 LocalDateTime)
- objectMapper.registerModule(new JavaTimeModule());
- // 禁用时间戳序列化
- objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
- return objectMapper;
- }
- }
复制代码
详细的优先级就是
注解 (@JsonFormat > @DateTimeFormat) > 全局格式的(自定义类> 配置yaml)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |