Ich versuche, beide Datumszeichenfolgen an zu übergeben new Date(t)
.
Ich gehe davon aus, dass beide Zeichenfolgen dieselbe Zeit darstellen. Wenn ich die Zeit weglasse, sollte es dann nicht Mitternacht dieses Tages sein?
Aber während,
new Date("2016-02-16 00:00")
Rückgabe 2016-02-16, Mitternacht, Ortszeit wie erwartet,
new Date("2016-02-16")
gibt 2016-02-16, Mitternacht UTC zurück, was falsch ist oder zumindest nicht das, was ich erwartet habe, wenn man bedenkt, wie die anderen Zeichenfolgen analysiert werden.
Ich würde es verstehen, wenn beide das gleiche Verhalten hätten, ob es die Zeit als Ortszeit oder als UTC zurückgeben soll, aber es scheint sehr inkonsistent zu sein, warum sie verschiedene Dinge wie diese zurückgeben.
Um dieses Problem zu umgehen, kann ich immer dann, wenn ich auf ein Datum stoße, für das es keinen entsprechenden Zeitstempel gibt, "00:00" anhängen, um ein konsistentes Verhalten zu erzielen. Dies scheint jedoch ziemlich fragil zu sein.
Ich erhalte diesen Wert von einem INPUT-Element vom Typ 'datetime-local', daher scheint es besonders inkonsistent zu sein, dass ich einen von einem Seitenelement zurückgegebenen Wert umgehen muss.
Mache ich etwas falsch oder sollte ich etwas anders machen?
2016-02-16 00:00
- Dies scheint überhaupt nicht die gültige Zeit zu sein. ecma-international.org/ecma-262/6.0/… , aber selbst nachdem Sie esT
dort platziert haben, verhält es sich tatsächlich anders