Ich habe den folgenden Code, um ein neues Objekt erstellt:Probleme mit neuem Datum
function Person(firstname, lastname, birth) {
this.name = firstname + " " + lastname;
this.bdate = {
\t year: birth.getFullYear(),
\t day: birth.getDate(),
\t month: "January,Febuary,March,April,May,June,July,August,September,October,November,December".split(",")[birth.getMonth() - 1],
\t monthnumber: birth.getMonth(),
\t }
this.age = new Date().getFullYear() - birth.getFullYear();
}
var foo = new Person("Jon", "Doe", new Date(1996, 12, 5));
console.log(foo);
, wenn ich den folgenden Code tun:
var foo = new Person("Jon", "Doe", new Date(1996, 12, 5));
es tut genau das, was es sollte tun: Erstellen Sie ein neues Person-Objekt.
ABER
das ist, was ich bekomme, wenn foo in Konsole folgendes ein:
foo
Object { name: "Jon Doe", bdate: Object, age: 20 }
wenn ich auf bdate Objekt klicken i erhalten:
month: undefined
wie sie zu beheben? PLUS Jahr 1997 statt 1996
EDIT: nein, es nicht von getUTCMonth Duplikat ist, dass Problem 12 AS 0 behandelt, gibt Mine undefined für Monat
ANOTHER EDIT: huh, ich denke, es acually Duplikat ist: P immer noch, kannst du mir helfen?
'12' ist kein gültiger Monat. Wenn Sie Dezember wollen, sollte es "neues Datum (1996, 11, 5)" sein. – Xufox
Mögliches Duplikat von [Javascript getUTCMonth() gibt 0 für Dezember zurück?] (Https://stackoverflow.com/questions/8335276/javascript-getutcmonth-returnns-0-for-december) – Xufox