Controle de date par java

ala91 Messages postés 22 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

j'ai fait un programme et dans ce programme je doit
1- vérifier est ce que les caracteres saisis par les uilisateur dans un textfield1 sans des date (c'est a dire ils ont la forme de date , si les caractères saisis dans ce textfield1 sont parexemple (20/20/1980) le champ mois est faut donc y'auras un message d'erreur ).
j'utilise NetBeans.

j'aimerais avoir une réponse

et merci ..

1 réponse

  1. Utilisateur anonyme
     
    En utilisant un objet DateFormat tu peux vérifier par toi-même la valeur. (Je ne sais plus bien si on peut mettre un format directement sur le JTextField pour qu'il le vérifie tout seul par lui-même.)

    public static void main(final String[] args) { 
     final DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
     { 
      final String text = "20/10/1980"; 
      try { 
       final Date date = df.parse(text); // ok 
       System.out.println(date); 
      } catch (final ParseException e) { 
       System.out.println("Date refusée : " + text); 
      } 
     } 
    
     { 
      final String text = "20-10-1980"; 
      try { 
       final Date date = df.parse(text); // ne respecte pas le format => ParseException 
       System.out.println(date); 
       System.out.println(df.format(date)); 
      } catch (final ParseException e) { 
       System.out.println("Date refusée : " + text); 
      } 
     } 
    
     { 
      final String text = "20/20/1980"; 
      try { 
       // respecte le format mais à refuser 
       // la méthode parse retourne une date calculée qui est, selon SimpleDateFormat, équivalente (par exemple 32/13/1980 => 01/02/1981) 
       final Date date = df.parse(text); 
    
       final String s = df.format(date); 
       if (s.equals(text)) { // (il doit y avoir un moyen plus "propre" que de reformater la date en String mais je ne connais pas et n'ai pas cherché) 
        System.out.println(date); 
       } else { 
        System.out.println(s); 
        System.out.println("Date refusée : " + text); 
       } 
      } catch (final ParseException e) { 
       System.out.println("Date refusée : " + text); 
      } 
     } 
    }


    (Je déterre, ça peut toujours servir)
    0