Le titre réécrit est : Calculer l'âge en fonction de la date de naissance au format AAAAMMJJ
P粉265724930
P粉265724930 2023-08-20 16:03:39
0
2
417
<p>Comment calculer l'âge en fonction de la date de naissance au format AAAAMMJJ ? Est-il possible d'utiliser la fonction <code>Date()</code> </p> <p>Je recherche une meilleure solution que celle que j'utilise actuellement : </p> <p><br /></p> <pre class="brush:js;toolbar:false;">var dob = '19800810'; var année = Nombre(dob.substr(0, 4)); var mois = Nombre(dob.substr(4, 2)) - 1; var jour = Nombre(dob.substr(6, 2)); var aujourd'hui = new Date(); var âge = aujourd'hui.getFullYear() - année ; if (today.getMonth() < mois || (today.getMonth() == mois && aujourd'hui.getDate() < jour)) { âge--; } alerte(âge);</pre> <p><br /></p>
P粉265724930
P粉265724930

répondre à tous(2)
P粉574268989

Essayez-le.

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;
}

Je crois que la seule partie de votre code qui semble approximative est la partie substr.

Fiddle : http://jsfiddle.net/codeandcloud/n33RJ/

P粉478188786

Je choisirais la lisibilité :

function _calculateAge(birthday) { // birthday is a date
    var ageDifMs = Date.now() - birthday.getTime();
    var ageDate = new Date(ageDifMs); // miliseconds from epoch
    return Math.abs(ageDate.getUTCFullYear() - 1970);
}

Avertissement : Cette méthode présente également des problèmes de précision, elle ne peut donc pas être entièrement fiable. Des erreurs peuvent survenir certaines années, certaines heures ou l'heure d'été (en fonction du fuseau horaire).

Si la précision est très importante, je recommande d'utiliser une bibliothèque pour gérer cela. De plus, @Naveens post est probablement le plus précis puisqu'il ne dépend pas du temps.


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal