java – SimpleDateFormat.parse() – 为不同的日期格式生成错误的日期

前端之家收集整理的这篇文章主要介绍了java – SimpleDateFormat.parse() – 为不同的日期格式生成错误的日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
下面是我使用SimpleDateFormat模式解析日期的代码
  1. String pattern = "yyyy-MM-dd";
  2. SimpleDateFormat format = new SimpleDateFormat(pattern);
  3. try {
  4. Date date = format.parse("05-21-2030");
  5. System.out.println(date);
  6. } catch (ParseException e) {
  7. e.printStackTrace();
  8. }

您可以看到我传递给解析的日期与SimpleDateFormat中指定的日期格式不同.在这种情况下,由于格式不同,我希望有一种解雇,但它使用一些不同的日期值成功解析.我得到了输出 – Tue Mar 22 00:00:00 IST 12

当我传递相同的格式,如2030-05-21,它工作正常.

你能告诉我如何在我的代码中阻止这些事情吗?

解决方法

基本上你希望SimpleDateFormat是严格的,所以将lenient设置为false.
  1. SimpleDateFormat format = new SimpleDateFormat(pattern);
  2. format.setLenient(false);

猜你在找的Java相关文章