ich diesen Code haben das Alter eines Benutzers zu berechnen:JS Date() liefert NaN, auch mit toString()
// Get today's date
var today = new Date();
var dd = today . getDate();
var mm = today . getMonth() + 1;
var yyyy = today . getFullYear();
if(dd < 10) {
dd = '0' + dd;
}
if(mm < 10) {
mm = '0' + mm;
}
/*
* Calculate the age in days
*/
var minimum_age_in_days = 6574;
var date_of_birth_formatted = new Date(year + '/' + month + '/' + day);
today = yyyy + '/' + mm + '/' + dd;
var difference = today - date_of_birth_formatted;
var difference_in_days = difference/100/60/60/24/10;
console . log(difference) . toString();
console . log(difference_in_days) . toString();
if(difference_in_days < minimum_age_in_days) {
$("#formModal") . show();
$("#overlay") . hide();
alert("You're not 18 years old");
}
else {
// Hide first modal
$("#formModal") . hide();
// Show second modal
$("#overlay") . show();
}
Die beiden console.log() 's Rückkehr NaN
, während ich habe habe versucht, sie in Strings umzuwandeln, damit ich eine if() -Anweisung machen kann. Da diese Variablen (difference
& difference_in_days
) jedoch einen Wert von NaN
haben, bricht der Code. Wie kann ich diese Werte konvertieren, damit der Code nicht bricht?
Setzen Sie wirklich Leerzeichen zwischen Objekte, das '.' und die Methode? : S Wie auch immer, ich vermute, wenn du 'var today = new Date() tust; console.log (heute); 'Sie werden normale Ausgabe sehen. – pay
Vielleicht können Sie Moment verwenden, um solche Operationen durchzuführen ... überprüfen 'MomentJs': http://momentjs.com/ – Hackerman
Mehrere Probleme hier, Sie können Strings (daher' NaN') subtrahieren. Beide müssen "Date's" sein. Sie haben auch nie "Jahr", "Monat" oder "Tag" definiert. –