首页  >  文章  >  Java  >  如何使用 SimpleDateFormat 解析“Sat Jun 01 12:53:10 IST 2013”​​的“java.text.ParseException: Unparseable Date”?

如何使用 SimpleDateFormat 解析“Sat Jun 01 12:53:10 IST 2013”​​的“java.text.ParseException: Unparseable Date”?

Barbara Streisand
Barbara Streisand原创
2024-11-17 02:29:03770浏览

How to Parse

解析异常:“java.text.ParseException: Unparseable Date” with SimpleDateFormat

尝试从字符串“Sat”解析日期时Jun 01 12:53:10 IST 2013”​​使用 SimpleDateFormat,您可能会遇到错误“java.text.ParseException: Unparseable date。”出现此错误的原因是用于解析的模式“MMM d, yyyy HH:mm:ss”与输入字符串格式不匹配。

解决方案:

要解决此问题并成功解析给定日期,您应该调整 SimpleDateFormat 中的模式以与输入字符串的特定格式保持一致。对于提供的字符串,更合适的模式为:

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

其中:

  • "EE MMM dd HH:mm:ss z yyyy" 表示输入字符串的日期和时间格式(例如,Saturday, June 01, 2013, 12:53:10 IST)。
  • Locale.ENGLISH 确保解析器理解英语日期名称格式。

输出格式:

成功解析日期后,您可以使用第二个 SimpleDateFormat 将输出格式化为您想要的格式,“MMM d, yyyy HH:mm:ss”:

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

其他注意事项:

  • 建议在输入字符串中使用精确的时区名称,而不是不明确的“IST”,以避免潜在的解析问题.
  • 确保 SimpleDateFormat 中指定的区域设置与预期输入的区域设置相匹配,以正确处理日期名称和其他特定于区域设置的格式元素。

以上是如何使用 SimpleDateFormat 解析“Sat Jun 01 12:53:10 IST 2013”​​的“java.text.ParseException: Unparseable Date”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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