Date en java
Amine Mama
Messages postés
17
Statut
Membre
-
Marco la baraque Messages postés 1030 Statut Contributeur -
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
-
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, -
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, -
tu peux me donner le code svp juste comment calculer l 'age