Date en java

Fermé
Amine Mama Messages postés 14 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 29 décembre 2010 - 16 févr. 2009 à 21:32
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 16 févr. 2009 à 22:28
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
A voir également:

3 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
16 févr. 2009 à 22:28
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
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
16 févr. 2009 à 21:34
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
Amine Mama Messages postés 14 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 29 décembre 2010
16 févr. 2009 à 21:43
tu peux me donner le code svp juste comment calculer l 'age
0