You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot+Thymeleaf日期格式转换失败问题求助

问题分析与解决方案

核心问题

提交日期转换失败的根本原因是实体类日期格式配置与表单提交的格式不匹配,同时你还误用了日期格式符:

  • HTML的input type="date"会固定以yyyy-MM-dd格式提交日期(比如你提交的2022-12-14)
  • 你实体类中@DateTimeFormat(pattern = "mm-DD-yyyy")存在两个错误:
    • mm代表分钟,不是月份,月份应该用MM
    • DD代表一年中的第几天,不是月份中的日期,应该用dd
      就算格式符正确,mm-DD-yyyy也和表单提交的yyyy-MM-dd完全不匹配,导致转换失败。

解决步骤

方案1:修正实体类的日期格式配置

将实体类的@DateTimeFormat改为与表单提交格式一致的yyyy-MM-dd,同时修正格式符:

@DateTimeFormat(pattern = "yyyy-MM-dd")
@Column(name = "date")
private Date date;

方案2:推荐使用Java 8+的时间API(更简洁可靠)

java.util.Date已经过时,推荐使用LocalDate(仅日期,不带时间),Spring会自动适配转换:

// 无需额外指定格式,Spring默认支持yyyy-MM-dd的转换
@Column(name = "date")
private LocalDate date;

如果需要显式指定格式,同样可以加@DateTimeFormat:

@DateTimeFormat(pattern = "yyyy-MM-dd")
@Column(name = "date")
private LocalDate date;

验证

修改后重新提交表单,2022-12-14就能正确转换为实体类中的日期字段了。

内容的提问来源于stack exchange,提问作者Stefan Jankovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:10:35