Dans mon programme javascript, j'essaie de calculer les années de naissance. J'ai créé des boîtes de dialogue rapides qui acceptent différentes valeurs et j'affiche ces valeurs mais les valeurs du mois données par l'utilisateur ne s'affichent pas correctement en deuxième ligne. l'utilisateur a entré 8 et il montre Octobre. Quelqu'un peut-il m'aider à identifier un problème? Comment devrais-je obtenir des valeurs toutes les trois valeurs de l'invite pour calculer l'année de naissance?Comment obtenir le nom du mois à partir de l'invite en utilisant l'objet Date, puis calculer le prochain anniversaire
code:
var today = new Date();
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var birth = new Date();
var myMonth = prompt("What month were you born in?");
var myDay = prompt("What day were you born on?");
var myYear = prompt("What year were you born in?");
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var dateLoc = document.getElementById("dateField").innerHTML = "Today is " + today;
var birthField = document.getElementById("birthField")
.innerHTML = "I was born on " + monthNames[birth.getMonth()] + ' ' + myDay + ',' + myYear + '.' +
'(' + myMonth + '/' + myDay + '/' + myYear + ')';
var secondsBetween = (endDate.getTime() - startDate.getTime())/1000
endDate = new Date(today.getFullYear() + 1, myMonth, myDay);
var nextBirth = document.getElementById("nextBirth").innerHTML = "I am" + endDate + "Years old, and will turn"+ +"in" ;
<p id="dateField"> </p>
<p id="birthField"> </p>
<p id="nextBirth"> </p>
sortie:
Vous affichez le nom du mois avec 'monthNames [birth.getMonth()]', mais 'birth.getMonth()' n'a aucune connexion avec le mois que l'utilisateur a saisi. – nnnnnn
Il s'agit du mois en cours sous la forme 'new Date();' crée un objet date avec la date réelle. Vous avez besoin de quelque chose comme 'naissance = nouvelle Date (myYear, myMonth, myDay)' – Eineki