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

Java字符串日期排序遇DateTimeParseException报错求助

问题排查与解决

你的报错核心原因是日期格式符不匹配:

  • 你的日期字符串里小时是一位数(比如10/21/2022 9:33 pm中的9)
  • 但你使用的hh是两位数小时格式(要求输入是01-12这种带前导零的格式),所以解析到第11位(也就是9的位置)时会报错。

把格式符里的hh改成h即可解决,h支持解析1-12的一位数或两位数小时:

// 修改后的格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy h:mm a", Locale.US);

// 排序逻辑不变
Collections.sort(li, (s1, s2) -> LocalDateTime.parse(s1, formatter)
        .compareTo(LocalDateTime.parse(s2, formatter)));

这个修改后不管是一位数小时(如9:33 pm)还是两位数小时(如10:00 am)都能正常解析排序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:45:54