首页 >Java >java教程 >如何在 Java 中解析日期并解决'java.text.ParseException: Unparseable date”错误?

如何在 Java 中解析日期并解决'java.text.ParseException: Unparseable date”错误?

DDD
DDD原创
2024-11-19 19:26:02936浏览

How to Parse Dates in Java and Resolve the

使用 Java 解析日期:解决“java.text.ParseException: Unparseable date”问题

尝试在 Java 中解析日期字符串时,确保日期格式模式与输入字符串精确对齐至关重要。在您的情况下,异常“java.text.ParseException:不可解析的日期”表明模式与输入之间不匹配。

您的原始模式“MMM d,yyyy HH:mm:ss”假设日期格式为“2013 年 6 月 1 日 12:53:10”。但是,输入字符串包含附加信息,特别是“Sat”表示星期几,“IST”表示时区。

解决方案:

解决此问题,更新日期格式模式以准确匹配输入字符串。更正后的模式为:

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);

此模式包括:

  • EE:一周中的某一天(例如“星期六”)
  • MMM:三-字母月份缩写(例如“Jun”)
  • dd:一个月中的第几天(例如“01”)
  • HH:24 小时制小时(例如“12”)
  • mm:分钟(例如“53”)
  • ss :第二个(例如“10”)
  • z:时区缩写(例如“IST”)
  • yyyy:年份(例如“2013”​​)

打印所需格式:

使用正确的模式成功解析日期后,您可以使用单独的 SimpleDateFormat 实例:

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));

注释:

  • 要避免特定于区域设置的问题,请显式指定 Locale.ENGLISH 作为用于执行以下操作的 SimpleDateFormat 的区域设置parse.
  • 如果输入字符串包含不明确的时区缩写,例如“IST”,建议包含完整的时区名称。

以上是如何在 Java 中解析日期并解决'java.text.ParseException: Unparseable date”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn