Der Test:Wie erklärt man den Unterschied im Date-Konstruktor?
var d1 = new Date("2000-04-22T00:00:00+00:00");
var d2 = new Date(2000, 4, 22, 0, 0, 0, 0);
console.log("d1 = " + d1.getTime());
console.log("d2 = " + d2.getTime());
Das Ergebnis:
d1 = 956361600000
d2 = 958946400000
Ich denke, der Unterschied von Zeitzonen kommt, aber ich verstehe es nicht!
Welche magischen Sachen erzeugen diesen Unterschied?
, die wegen Ihrer Zeitzone – epascarello
Verwenden 'new Date wäre (Date.UTC (2000, 4, 22, 0, 0, 0, 0)); 'um das erwartete Ergebnis zu erhalten. – Bergi
Das löst das UTC-Problem, mit dem richtigen Monatsindex wird es 'neues Datum (Date.UTC (2000, 3, 22, 0, 0, 0, 0));' und es funktioniert! –