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

Java解析带[UTC]后缀的时间字符串的DateTimeFormatter模式配置问题

问题根因

你当前使用的时间匹配模式仅覆盖到时区偏移部分(XXX对应时间串中的Z),但输入的时间串2021-07-03T09:19:17.83Z[UTC]在Z之后额外携带了[UTC]时区标识段,现有模式没有包含对这部分的匹配规则,因此反序列化时会触发格式不匹配异常。

修复方案

调整@JsonFormat注解的pattern参数,补充对末尾时区标识段的匹配即可:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]XXX'['VV']'", timezone = "UTC")
private final Date fromTimestamp;
补充说明
  • 新增的'['VV']'段中,单引号包裹的[和]表示精确匹配时间串中的方括号,VV是时区ID匹配符,可正确匹配UTC这类时区标识
  • 如果项目中存在部分不带末尾[UTC]段的时间串,可以给新增的匹配段再加一层可选包裹符,写成[XXX'['VV']'],即可兼容两种格式的时间串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:45:03