Maison > Java > javaDidacticiel > Comment puis-je calculer avec précision l'âge en Java à l'aide de l'API de date et d'heure moderne ?

Comment puis-je calculer avec précision l'âge en Java à l'aide de l'API de date et d'heure moderne ?

Linda Hamilton
Libérer: 2024-12-22 01:24:20
original
650 Les gens l'ont consulté

How Can I Accurately Calculate Age in Java Using the Modern Date and Time API?

Calcul de l'âge en Java : une approche révisée

En Java, obtenir un âge nécessite une méthode précise. La méthode obsolète d'utilisation de la fonction getYear() a incité à rechercher une solution plus actuelle.

Pour résoudre ce problème, l'introduction de l'API Java Date and Time (JSR-310) dans JDK 8 simplifie le processus. Considérez la méthode suivante :

public int getAge() {
    LocalDate today = LocalDate.now();
    long ageInMillis = today.toEpochDay() - birthDate.toEpochDay();
    return (int) TimeUnit.MILLISECONDS.toDays(ageInMillis) / 365;
}
Copier après la connexion

Explication :

  • Elle utilise la méthode toEpochDay() pour convertir à la fois la date actuelle (obtenue via LocalDate.now ()) et la date de naissance des représentations longues des jours d'époque.
  • La différence entre ces jours d'époque en millisecondes est obtenu en utilisant une arithmétique simple.
  • Pour convertir l'âge en millisecondes en années, il est divisé par le nombre de millisecondes par an (365 jours).

Unité Test :

@Test
public void getAge_Success() {
    Person person = new Person(LocalDate.parse("1970-01-01"), "Jane Doe");
    assertEquals(50, person.getAge());
}
Copier après la connexion

Conclusion :

En adoptant l'API Java Date and Time, le calcul de l'âge devient à la fois précis et efficace. L'approche révisée fournit une solution robuste qui s'intègre parfaitement au développement Java moderne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal