Débutant javascript

Fermé
syroz - 14 sept. 2008 à 18:20
 Alilou - 15 sept. 2008 à 11:37
Bonjour,

je commence à apprendre le javascript et j'ai quelques problème.
Je dois déterminer l'âge de quelqu'un selon sa date de naissance, mais je crois avoir des problèmes avec l'utilisation de Date.

voici comment je l'ai codé:

function afficherAge(){
    var tokens = document.convert.dNaissance.value.tokenize("/", true);
    var jour = parseInt(tokens[0]);
    var mois = parseInt(tokens[1]);
    var annee = parseInt(tokens[2]);
    
    dateNaissance = new Date(annee, mois, jour);
    maintenant = new Date();
    
    var age = maintenant.getYear() - dateNaissance.getYear();
    
    if(maintenant.getMonth() > dateNaissance.getMonth()){
        age = age - 1;
    }else if(maintenant.getMonth() == dateNaissance.getMonth()){
        if(maintenant.getDay() > dateNaissance.getDay()){
            age = age - 1;
        }
    }
    document.convert.age.value = "" + age;
}


Si quelqu'un pouvais me dire ce que je fais d'incorrect ou encore quelque explication sur la classe Date, ca serait très apprécié

Merci

1 réponse

Syntaxe
void ladate.setDate(Integer jour)

Description
Affecte jour comme date du jour à ladate.
L'objet Date gère lui-même les longueurs de mois, les années bissextiles, etc... La date ainsi modifiée est toujours corrigée des éventuelles incohérences et valide.
Voir setMonth(), setYear() pour modifier les autres informations sur la date.
Voir aussi getDate() pour récupérer le jour du mois.

Exemple Mise à jour de date

Code source
<SCRIPT language=javascript>
var ladate=new Date()
ladate.setDate(1)
document.write("La date modifiée contient : ");
document.write(ladate.getDate()+"/"+(ladate.getMonth()+1)+"/"+ladate.getFullYear())
</SCRIPT>

Résultat
La date modifiée contient : 1/9/2008

Explication
Crée ladate à la date du jour et force le jour du mois au 1er du mois.


Pour plus d'info

https://www.toutjavascript.com/reference/ref-date.getdate.php
0