Date en java

Amine Mama Messages postés 17 Statut Membre -  
Marco la baraque Messages postés 1030 Statut Contributeur -
Bonjour, j'ai programme qui donne la a l'utilisateur de saisir le nom ,prenom et date Naissance est a la fin je donne le son nom prenom est son age est le probleme ces que jarrive pas a calculer l'age
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Marco la baraque Messages postés 1030 Statut Contributeur 329
     
    Bonsoir,
    Voici une classe que tu peux utiliser. En principe ça devrait aller à peu près :
    import java.text.ParsePosition;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    
    
    public class Age {
    
    	private static final int EPOCH_YEAR = 1970;
    	private static Calendar GC = new GregorianCalendar();
    	
    	private int age;
    	
    	public Age(int age) {
    		this.age = age;
    	}
    	
    	public Age(String dateDeNaissance) {
    		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    
    		Date naissance = sdf.parse(dateDeNaissance, new ParsePosition(0));
    		Date aujourdhui = new Date();
    		Date diff = new Date(aujourdhui.getTime() - naissance.getTime());
    		
    		synchronized (GC) {
    			Age.GC.setTime(diff);
    			this.age = Age.GC.get(Calendar.YEAR) - Age.EPOCH_YEAR;
    		}
    	}
    	
    	public int getAge() {
    		return age;
    	}
    
    }


    Pour l'utiliser, il faut instancier la classe comme ceci :
    Age age = new Age("25/12/2004"); //noel 2004
    int anneesVecues = age.getAge();


    Pour l'améliorer, tu peux lever une exception si la date entrée est ultérieure à la date actuelle.

    Cordialement,
    2
  2. Marco la baraque Messages postés 1030 Statut Contributeur 329
     
    Bonsoir,
    Il faut que tu crées une instance de Date depuis les informations que l'utilisateur a entrées (sers toi de la classe DateFormat).
    Ensuite, tu fais la différence entre ces deux dates (grâce à la méthode getTime), puis tu récupères le nombre d'années.

    Cordialement,
    0
  3. Amine Mama Messages postés 17 Statut Membre
     
    tu peux me donner le code svp juste comment calculer l 'age
    0