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

Kotlin中如何将dd/mm/yyyy格式字符串解析为Date类型并处理解析异常

问题原因
  • 日期格式模板和输入字符串不匹配:你使用的模板"d / M / yyyy"中,斜杠前后额外加了空格,但实际获取到的日期字符串04/10/2022的斜杠两侧没有空格,解析到索引2的位置时字符匹配失败,直接抛出异常。
  • 注意区分格式符含义:日期格式中大写M代表月份,小写m代表分钟,如果你的输入格式为dd/MM/yyyy(日/月/年),一定要使用大写M避免逻辑错误。
修复方案

调整日期格式模板和输入完全对齐即可,修复后的代码如下:

// 根据实际输入的「日/月/年」两位格式定义模板,无多余空格
val dateFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val dateProduct = LocalDate.parse(
                    jsonArray.getJSONObject(i).getString("Date"),
                    dateFormatter
                )
val expirationDate = Date
    .from(dateProduct
        .atStartOfDay()
        .atZone(ZoneId.systemDefault())
        .toInstant())
补充说明

如果你获取到的日期实际是「月/日/年」的格式(即04/10/2022代表2022年4月10日),只需要把格式模板修改为"MM/dd/yyyy"即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:04