2010-07-15 4 views
1

Quelqu'un peut-il me dire la solution pour ce qui suit: J'ai un objet Util.Date dans java.Je veux valider la date entrée. J'analyse l'objet date en utilisant le format requis. Par exemple, le format est "MM/jj/aaaa" et la date entrée est "23/12/2010" Pour cette date, je ne reçois aucune exception d'analyse mais la date est ajustée à "11/12/2011 "qui ne devrait pas arriver dans mon cas.Au lieu de cela, je veux lancer un message d'erreur.Comment valider l'objet Date dans Java

S'il vous plaît aidez-moi dans ce dès que possible.

Merci à l'avance

Répondre

4

Dans DateFormat classe vous devez réinitialiser le drapeau "clémente", à savoir

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
sdf.setLenient(false); 
. . . 
sdf.parse(mydate, pos); 
+0

Merci beaucoup. Ça a marché comme je veux. – asd

4

Vous devez définir le mode "clément" du SimpleDateFormat false:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
sdf.setLenient(false); 

Par défaut, il tolère certaines erreurs et essaie de les interpréter d'une manière ou d'une autre.

1

En fonction de votre expression de format, nous pouvons ajuster le mois, la date et l'année en utilisant SimpleDateFormat, le code est ci-dessous

public class SimpleDateFormatString2DateParse { 

public static void main(String[] args) { 

    SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 

    try { 
     Date date = formatter.parse("11/12/2011"); 
     System.out.println("Date is : " + date); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    } 
    } 

sortie ----- -----

date est: sam Nov 12 00:00:00 PST 2011