Probleme de date

simeone1 Messages postés 28 Date d'inscription dimanche 29 avril 2007 Statut Membre Dernière intervention 28 mai 2008 - 16 mai 2008 à 11:00
simeone1 Messages postés 28 Date d'inscription dimanche 29 avril 2007 Statut Membre Dernière intervention 28 mai 2008 - 16 mai 2008 à 15:20
salut tt le monde,
Je viens vers vous afin de bien vouloir m'aider, vous en remerciant d'avance.
j'aimerais interdire si date et diefferente du 15/05/annee+1, j'ai pas su comment faire.

 //Contrôle des champs obligatoires
   if (DateEntretien==null || "".equals(DateEntretien) || DateEntretien!= ????? ){ 
         
       erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("aaaa.bbb.erreur.msgdp1"));
   }...

5 réponses

nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
16 mai 2008 à 12:07
Defini une classe Date qui prend 3 entier en entré (jour,mois,annee) qui etend peut-etre la classe à laquelle appartient DateEntretien (ça c'est à toi de voir) et redéfini dedans la methode equals.
Ensuite tu n'a plus qu'à faire d = new Date(15,5,annee+1); et !DateEntretien.equals(d);

bashfr.org
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
16 mai 2008 à 13:16
Salut, pourquoi à tu un champs DateEntretien sous forme de String ? Ce ne serait pas plus simple sous forme d'une Date; d'un GregorianCalendar ?

Et aprés tu peux faire :
if(new GregorianCalendar(maDateEntretien.get(Calendar.YEAR), 5, 15).before(maDateEntretien)) { 
   System.out.println("Pas bien !!!");
}

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
simeone1 Messages postés 28 Date d'inscription dimanche 29 avril 2007 Statut Membre Dernière intervention 28 mai 2008
16 mai 2008 à 13:43
salut tt le monde
La réponse que ma donné nosferaltu0 correspond a ce que je ve, car  dans le code lchamp de la date est declaré string, vu que je fasse que de la TMA je pe pas changé.
 
mais j'ai toujour un avertissement au niveau du code qui di que :

le constructeur Date(int, int, int) est inutilisable.
voici mon code:
try{
         DateUtils.getInstance().stringToValidDate(DateEntretien, AaaaConstantes.DD_MM_YYYY);
      
         Date d = new Date(15,5,annee+1); a ce niveau



            if (!DateEntretien.equals(d)){
                erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("rh2u.eia.erreur.msgDateEntretien"));
            }
     } catch (ParseException parseException){
         erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("aaaa.bbb.erreur.msgdp2"));
0
nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
16 mai 2008 à 14:33
C'est parce que ce constructeur est inutilasble que je te conseillait de créer ta propre classe Date. C'est pas bien compliqué ni long à faire et ça fera tout ce que tu voudra comme tu le voudra et tu pourra le réutiliser à chaque fois que tu aura besoin de manipuler des dates.
Il doit certainement y avoir des classes de ce genre déja disponible sur le net.

bashfr.org
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simeone1 Messages postés 28 Date d'inscription dimanche 29 avril 2007 Statut Membre Dernière intervention 28 mai 2008
16 mai 2008 à 15:20
Comme je suis un debutant en java, j'aimerais savoir si je pe integrer la classe date dans le code ci dessous, si oui c a kel niveau? 
voici mon code :

 public ActionErrors validateFormulaire() {
       
        ActionErrors erreurs = new ActionErrors();


  //Les vérifications ne sont utiles que pour les statuts 'non effectue' et 'brouillon ' et'reinit/reouv'
  if(m_formulaireXXXBean.getStatutXXXDTO().getStatutXXX() == FormulaireXXXService.XXX_STATUTND||
          m_formulaireXXXBean.getStatutXXXDTO().getStatutXXX() == FormulaireXXXService.XXX_STATUT_R_R ||
          m_formulaireXXXBean.getStatutXXXDTO().getStatutXXX() == FormulaireXXXService.XXX_STATUT_BROUILLON_NP1){
   
      String DateEntretien = getFormatedDateEntretien();
   String DatePrecEntretien = getFormatedDatePrecEntretienLecture();
     
      //Contrôle des champs obligatoires
   if (DateEntretien==null || "".equals(DateEntretien)){
       erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("aaaa.bbb.erreur.msgdp1"));
   }
   else{
       Date vDateTmp = DateUtils.getInstance().stringToDate(DateEntretien, AaaaConstantes.DD_MM_YYYY);
       if(vDateTmp==null){
           erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("aaaa.bbb.erreur.msgdp2"));
       }
    else{
     // contrôle du format de la date
     try{
         DateUtils.getInstance().stringToValidDate(DateEntretien, AaaaConstantes.DD_MM_YYYY);


         }
       
      catch (ParseException parseException){
         erreurs.add(ActionErrors.GLOBAL_ERROR, new ActionError("aaaa.bbb.erreur.msgdp2"));
     } 
    }
   }
0
Rejoignez-nous