springboot项目中使用Java 8的日期时间API

springboot项目中使用Java 8的日期时间API,这个是非常常见的问题。场景:前端参数是日期格式的数据,就会出现JSON序列化问题

建议使用LocalDateTime

复制代码
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDateTime;

public class YourEntity {
    
    // 使用LocalDateTime
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    
    // 或者使用Instant
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Instant updateTime;
    
    // getter和setter
}

注意事项:

  1. 时区问题:务必指定时区,避免时区转换问题

  2. 格式说明

    • yyyy:年份

    • MM:月份(大写)

    • dd:日期

    • HH:24小时制的小时(大写)

    • mm:分钟

    • ss:秒

  3. 注解区别

    • @JsonFormat:控制JSON序列化/反序列化的格式

    • @DateTimeFormat:控制表单参数绑定的格式

  4. 建议:在生产环境中,建议使用全局配置 + 特定字段注解的方式,既有一致性又可以灵活覆盖特殊需求

相关推荐
shalou29011 小时前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring
Mr YiRan2 小时前
C++语言学习之面向对象
java·c++·学习
UrbanJazzerati2 小时前
Python 导包、分包完全教程
后端·面试
dc_00122 小时前
“mysqld --initialize --console ”执行不成功情况总结和解决措施
java
前端达人2 小时前
被JavaScript忽视的Web Animations API:为什么说它是前端动画的真正未来?
开发语言·前端·javascript·ecmascript
米羊1212 小时前
风险评估文档记录
开发语言·网络·php
摘星编程2 小时前
解锁Agent智能体的未来:五大实战策略彻底革新人机协作模式
java·开发语言
百块富翁2 小时前
可管控、不重复TraceId解决方案
java·分布式·系统架构