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

解析日期字符串触发ParseException,格式匹配却报错求助

问题原因与解决方案

哦,这个坑我踩过!你遇到的ParseException问题出在小时格式符的使用上:

  • 你代码里用的hh是12小时制的格式符,它的有效范围是1-12,而你的日期字符串里是14:42,这明显超出了12小时制的范围,加上你设置了setLenient(false)开启严格解析模式,直接就抛出异常了。
  • 要解析24小时制的时间,你需要用HH作为小时格式符,它的有效范围是00-23,刚好匹配14:42这种格式。

修正后的代码:

DateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
cal.setLenient(false); 
try { 
    cal.parse("2018-01-01 14:42"); 
    System.out.println("日期解析成功!");
} catch (Exception e) { 
    e.printStackTrace(); 
}

额外小贴士:

如果你的日期字符串是12小时制(比如带上午/下午标记,像2018-01-01 02:42 PM),那才需要用hh,同时还要加上a来匹配上午/下午标识,格式串就变成yyyy-MM-dd hh:mm a。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:17:44