2011-05-17 12 views

Respuesta

12

Utilice DateFormat.setLenient(false) para indicar DateFormat/SimpleDateFormat que desea que sea estricta.

+0

Thnkx para una respuesta rápida –

+0

Después de hacer cambios, usted mencionó, está dando error de análisis en la fecha: "13-10-2007 16: 52: 12.014789", patrón: "dd-MM-yyyy HH: mm: ss. SSSSSS ". –

+0

Encontré la respuesta. Java admite 3 dígitos en el campo ms significa dd-MM-aaaa HH: mm: ss.SSS es compatible –

2

Establecer indulgente trabajará para la mayoría de los casos, pero si quieres comprobar el patrón exacto de cadena, entonces esto podría ayudar,

String s = "03/6/1988"; 
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
    try { 
     sdf.setLenient(false); 
     Date d = sdf.parse(s); 
     String s1 = sdf.format(d); 
     if (s1.equals(s)) 
      System.out.println("Valid"); 
     else 
      System.out.println("Invalid"); 
    } catch (ParseException ex) { 
     // TODO Auto-generated catch block 
     ex.printStackTrace(); 
    } 

Si le das la entrada como "03/06/1988" entonces obtendrá Resultado valido.

Cuestiones relacionadas