IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Comparaison date - calcul age


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SebastienM
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 310
    Par défaut Comparaison date - calcul age
    Bonjour,

    Je cherche à comparer deux dates afin de calculer le nombre d'années (age), mais je n'y arrive pas.
    Voici le code que j'ai saisi jusqu'a maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    package routines;
    import java.text.SimpleDateFormat;
    import java.text.ParsePosition;
    import java.util.Locale;
     
    public class calcAge {
     public static  int calculer(String dnaiss,String ddeces){
    	 int retour;
    	 retour=99;
    	 if((dnaiss!=null)&&(ddeces!=null))
    			 {
    	 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
    	 //SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
     
    	 retour=sdf.parse(ddeces,new ParsePosition(0)).compareTo(sdf.parse(dnaiss,new ParsePosition(0)));
    			 }
    	 return retour;
     
     
     }
    }
    Merci d'avance de votre aide

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Quand tu as un objet Date, cette fonction te permettra d'en deduire l'année. Je l'ai mis dans un string mais dans ton cas, converti la en int plutot avant de la renvoyer comme ca, tu pourras faire la difference entre la date de deces et celle de naissance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public static String retourneAnneeEntier(Date pDate) {
     
            if (pDate != null) {
                String annee = null;
                Calendar calendrier = Calendar.getInstance();
                calendrier.setTime(pDate);
                annee = NumberUtils.intToString(calendrier.get(Calendar.YEAR));
                return annee;
            } else
                return null;
        }

  3. #3
    Membre éclairé Avatar de SebastienM
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 310
    Par défaut
    Merci ^^

    Voici le code final au cas ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    package routines;
    import java.text.SimpleDateFormat;
    import java.text.ParsePosition;
    import java.util.Locale;
    import java.util.Calendar;
     
    public class calcAge {
     public static  int calculer(String dnaiss,String ddeces){
    	int retour;
    	retour=99;
    	if((dnaiss!=null)&&(ddeces!=null))
    	{
    	 	SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
            Calendar calendrier = Calendar.getInstance();
            calendrier.setTime(sdf.parse(ddeces,new ParsePosition(0)));
            Calendar calendrier2 = Calendar.getInstance();
            calendrier2.setTime(sdf.parse(dnaiss,new ParsePosition(0)));
     
         	retour=calendrier.get(Calendar.YEAR)-calendrier2.get(Calendar.YEAR);
         	if(calendrier.get(Calendar.DAY_OF_YEAR)<calendrier2.get(Calendar.DAY_OF_YEAR))
            {
            	 retour--;
            }
     
    	}
    	return retour;
     }
    }

Discussions similaires

  1. Calcul age entre 2 dates
    Par nawal59 dans le forum SQL
    Réponses: 12
    Dernier message: 23/07/2010, 16h43
  2. [Dates] Calculer le nombre de jours dans le mois suivant...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 00h01
  3. [Dates] problème Comparaison dates
    Par gwen-al dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2006, 11h24
  4. [Dates] Calcul tout bête sur une date...
    Par poah dans le forum Langage
    Réponses: 5
    Dernier message: 01/11/2005, 15h02
  5. Calcul Age
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/01/2005, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo