Calcul de l'age à partir d'une date de naissance au préable de type string
Anouchka2586
Messages postés
54
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour
J'aimerais calculer à partir de la date de naissance. J'ai mis la dateNaissance en String. Voici ma fonction
Merci
J'aimerais calculer à partir de la date de naissance. J'ai mis la dateNaissance en String. Voici ma fonction
public int age(){
int age = 0;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate localDate = LocalDate.parse(dateNaissance, formatter);
return age;
}
Merci
A voir également:
- Algorithme date de naissance
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Comment changer sa date de naissance sur snap - Forum Snapchat
- Mfg date - Forum PC portable
- Comment changer sa date de naissance sur tiktok - Guide
- Algorithme euromillion excel gratuit - Forum Logiciels
1 réponse
Bonjour,
Une date c'est un point dans le temps. Un âge, c'est une distance entre deux points du temps.
Ces deux notions sont représentées respectivement par les classes LocalDate et Period :
Exemple :
Pour le premier paramètre, si tu le veux à partir d'un String il faut le parser comme tu as commencé à le faire :
Pour le deuxième paramètre, si tu veux l'âge que l'on a aujourd'hui, il faut utiliser now() :
Pour le troisième paramètre, on va dire que tu veux l'âge en années :
Donc au final cela donne :
Une date c'est un point dans le temps. Un âge, c'est une distance entre deux points du temps.
Ces deux notions sont représentées respectivement par les classes LocalDate et Period :
Exemple :
public static long distance(LocalDate date1, LocalDate date2, TemporalUnit unit) {
return Period.between(date1, date2).get(unit);
}
Pour le premier paramètre, si tu le veux à partir d'un String il faut le parser comme tu as commencé à le faire :
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d/M/yyyy");
LocalDate date1 = LocalDate.parse(dateNaissance, formatter);
Pour le deuxième paramètre, si tu veux l'âge que l'on a aujourd'hui, il faut utiliser now() :
LocalDate date2 =LocalDate.now();
Pour le troisième paramètre, on va dire que tu veux l'âge en années :
TemporalUnit unit = ChronoUnit.YEARS;
Donc au final cela donne :
public static long age(String dateNaissance) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d/M/yyyy");
LocalDate date1 = LocalDate.parse(dateNaissance, formatter);
LocalDate date2 = LocalDate.now();
TemporalUnit unit = ChronoUnit.YEARS;
return Period.between(date1, date2).get(unit);
}