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
- Je me suis trompée sur la date de naissance comment le débloquer - Forum Snapchat
- Comment changer sa date de naissance sur tiktok - Guide
- Mfg date - Forum PC portable
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); }