Maison >interface Web >js tutoriel >Comment calculer avec précision l'âge à partir d'une date de naissance AAAAMMJJ ?

Comment calculer avec précision l'âge à partir d'une date de naissance AAAAMMJJ ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 16:23:10208parcourir

How to Accurately Calculate Age from a YYYYMMDD Birthdate?

Calculer l'âge en utilisant la date de naissance au format AAAAMMJJ

Question :

Comment pouvons-nous déterminer avec précision l'âge d'un individu en fonction de son date de naissance au format AAAAMMJJ en utilisant Date() fonction ?

Solution améliorée :

L'extrait de code fourni pour le calcul de l'âge peut être affiné pour une meilleure efficacité et exactitude :

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}

Explication :

  • La fonction getAge() accepte une dateString dans au format AAAAMMJJ.
  • Il crée des objets Date pour la date actuelle (aujourd'hui) et la date de naissance (birthDate) à l'aide de new Date().
  • L'âge initial est calculé comme la différence entre le l'année en cours et l'année de naissance.
  • La différence de mois (m) est déterminée en soustrayant le mois de naissance du mois en cours.
  • Si m est inférieur à 0 ou si m est 0 et que le jour en cours est inférieur au jour de naissance, l'âge est décrémenté de 1 pour tenir compte des années incomplètes.
  • L'âge résultant est renvoyé, fournissant un calcul plus précis que le code original.

Cette solution corrige l'inexactitude du code original dans le traitement des dates qui surviennent avant le mois ou le jour en cours, garantissant un calcul d'âge correct pour tous scénarios.

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!

Déclaration:
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