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 :

determiner le nombre de mois


Sujet :

Langage Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut determiner le nombre de mois
    hello,

    j ai un petit soucie, j aimerais recupéré le nombre de mois qui sépare deux Date
    mais je ne sais pas quoi utiliser

    merci

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    et bien le mieux est d'utiliser la classe calendar.

    Le calcul de la différence de 2 dates et assez complexe (il y a d'ailleurs un topic assez intéressant sur le sujet. Faire une recherche sur "différence date" pour le trouver ... [EDIT] désolé j'ai la flemme de le chercher ...)

    Par contre comme c'est juste une différence en nombre de mois tu dois pouvoir t'en sortir assez facilement.

    Petite précision si 2 dates sont éloignées de 2 jours mais pas du même mois, tu veux que ça te renvoie 0 ou 1 ??

    genre 01/01/2006 - 31/12/2005 = 1 ou 0 mois ? Tu vois ce que je veux dire ?

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Par défaut
    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
    	  public static int differenceMoisEntre2Date(Calendar dateDepart, Calendar dateArrivee) 
    	  {
    		   int mois = 0;
     
    		   if (dateDepart == null || dateArrivee == null) {
    			   return 0;
    		   }
     
    		   int nbAnnee = dateArrivee.get(Calendar.YEAR) - dateDepart.get(Calendar.YEAR);
    		   int nbMois = dateArrivee.get(Calendar.MONTH) - dateDepart.get(Calendar.MONTH);
     
    		   nbMois = nbMois + (12 *nbAnnee);
     
    		   return nbMois;    
    	  }
    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
    	public static boolean differenceMois(Calendar dateSaisie, int min, int max) 
    	{
    		 int mois = 0;
    		 // la parametre dateNaissance est null ou la date est superieur a la date du jour
    		 if (dateSaisie == null) {
    			 return false;
    		 }
    		 Calendar dateJour = Calendar.getInstance();
     
    		 // si plus d'une annee entre les 2 dates
    		 if (dateSaisie.get(Calendar.YEAR) - dateJour.get(Calendar.YEAR) > 0) {
    			 return false;
    		 } else {
    			 mois = dateSaisie.get(Calendar.MONTH) - dateJour.get(Calendar.MONTH);
    			 if (dateSaisie.get(Calendar.MONTH) == dateJour.get(Calendar.MONTH) + max) {
    				 if (dateSaisie.get(Calendar.DAY_OF_MONTH) > dateJour.get(Calendar.DAY_OF_MONTH)) {
    					 mois++;
    				 }
    			 } else {
    				 if (dateSaisie.get(Calendar.MONTH) == dateJour.get(Calendar.MONTH) + min) {
    					 if (dateSaisie.get(Calendar.DAY_OF_MONTH) < dateJour.get(Calendar.DAY_OF_MONTH)) {
    						 mois--;
    					 }
    				 }
    			 }
    		 }
    		 return (mois <= max) && (mois >= min);    
    	}
    Fais rapidement mais normalement tu dois t'en sortir assez facilement avec la classe Calendar.

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    nickel merci

Discussions similaires

  1. [VB.Net] Determiner le nombre de chiffre apres la virgule
    Par badnane2 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/05/2019, 10h00
  2. Determiner date debut de mois automatiquement
    Par TBMB51 dans le forum Access
    Réponses: 1
    Dernier message: 27/01/2006, 09h37
  3. Nombre de mois entre 2 dates
    Par gripoil dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/01/2006, 13h05
  4. Determiner le Nombre de sections dans un ini
    Par gilles641 dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2005, 15h07
  5. determination le nombre de ligne d'une table
    Par picoti2 dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/03/2004, 09h25

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