SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");myFormatter.setLenient(false);
try{  
             myFormatter.parse("2007-05-4."); 
          }  
          catch(ParseException   pe){  
              System.out.println(pe.toString());  
             
          }   
为什么 这样是不会报错?
请高手指点一下?

解决方案 »

  1.   

    DateFormat从左向右从字符串中尝试匹配一个日期,即便严格模式下,对于后面的字符也是不管的(因为前面的日期格式已经满足格式要求),
    至于为什么4也能解释通过,说明Formater本身具有一定的容错性。
    因为在这个给定的日期格式中,- 不是元字符,可以明确的区分日期字符串的各个段,如果是我们自己写这个程序,也应该可以考虑到一定的宽容性。