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

Java中DateTimeParseException求助:解析带时区时间失败

问题解决:带时区的日期解析错误

错误原因

你的日期字符串2022-12-16T00:00:00+03:00包含时区偏移信息(+03:00),但你使用的LocalDateTime是专门用于不带时区的日期时间类型,它无法识别并解析时区部分,因此抛出DateTimeParseException,提示索引19之后有未解析的文本(也就是+03:00)。

解决方案

改用支持时区的日期时间类(OffsetDateTime或ZonedDateTime)解析字符串,之后再转换为需要的日期格式即可。

修改后的代码

fun formatDateOfReview(dateOfReview: String?): String? {
    dateOfReview ?: return null // 处理null参数
    // 使用OffsetDateTime解析带时区的字符串
    val offsetDateTime = OffsetDateTime.parse(dateOfReview)
    // 转换为LocalDate后,格式化为dd.MM.yyyy
    return offsetDateTime.toLocalDate().format(DateTimeFormatter.ofPattern("dd.MM.yyyy"))
}

补充说明

  • 如果API返回的时区格式可能包含时区ID(比如Europe/Moscow),可以改用ZonedDateTime.parse(dateOfReview)来解析,后续转换逻辑一致。
  • 代码中增加了dateOfReview ?: return null来处理参数为null的情况,避免空指针异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:55:22