java – SimpleDateFormat parse(string str)在str = 2011/12 /
发布时间:2020-12-14 16:20:26  所属栏目:Java  来源:网络整理 
            导读:这是一个例子: public MyDate() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/d"); sdf.setLenient(false); String t1 = "2011/12/12aaa"; System.out.println(sdf.parse(t1));} 2011/12 / 12aaa不是有效的日期字符串.但
                
                
                
            | 这是一个例子: 
  
  
  public MyDate() throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/d");
    sdf.setLenient(false);
    String t1 = "2011/12/12aaa";
    System.out.println(sdf.parse(t1));
}2011/12 / 12aaa不是有效的日期字符串.但是该功能打印“2011年12月12日星期一00:00:00 PST”,并且不会抛出ParseException. 任何人都可以告诉我如何让SimpleDateFormat将“2011/12 / 12aaa”视为无效的日期字符串并抛出异常? 解决方法
 解析(…)中的JavaDoc说明如下: 
  
  
  
 看来,您无法使SimpleDateFormat抛出异常,但您可以执行以下操作: SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/d");
sdf.setLenient(false);
ParsePosition p = new ParsePosition( 0 );
String t1 = "2011/12/12aaa";    
System.out.println(sdf.parse(t1,p));
if(p.getIndex() < t1.length()) {
  throw new ParseException( t1,p.getIndex() );
}基本上,您检查分析是否消耗整个字符串,如果不是您有无效的输入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
