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

使用Jackson反序列化'6/18/2021 5:25:57 PM'格式日期时间字符串报错如何解决?

问题原因
  • 你当前配置的日期格式dd-MM-yyyy HH:mm:ss与接口实际返回的6/18/2021 5:25:57 PM完全不匹配,具体差异如下:
    • 分隔符错误:实际使用/作为日期分隔符,你配置的是-
    • 日期顺序错误:实际为月/日/年顺序,你配置的是日-月-年
    • 小时制不匹配:实际为12小时制且携带PM/AM标识,你配置的是24小时制HH,缺少上下午标识匹配位
    • 位数规则不匹配:实际返回的月份、日期、小时均允许无前导零,你配置的dd/MM/HH要求必须为两位数字
解决方法
  1. 修改字段注解配置为如下格式即可,无特殊自定义逻辑可以去掉@JsonDeserialize注解:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "M/d/yyyy h:mm:ss a", locale = "en_US")
@JsonProperty("DateModified") 
private LocalDateTime dateModified;

参数说明:

  • M:兼容无前导零的月份格式
  • d:兼容无前导零的日期格式
  • h:适配12小时制的小时规则
  • a:匹配PM/AM上下午标识
  • 显式指定locale = "en_US"是为了避免中文系统默认Locale无法识别英文的PM/AM标识
  1. 若项目未引入Jackson的JSR310时间处理模块,需先添加对应依赖,Maven配置示例如下:
<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>与项目使用的jackson核心版本保持一致即可</version>
</dependency>

SpringBoot项目默认已集成该依赖,无需额外引入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 11:45:05