Я пытаюсь передать обе строки даты new Date(t)
.
Я ожидаю, что обе строки представляют одно и то же время, в конце концов, если я опущу время, разве это не будет полночь того дня?
Но пока,
new Date("2016-02-16 00:00")
возвращает 16 февраля 2016 г., полночь по местному времени, как и ожидалось,
new Date("2016-02-16")
возвращает 2016-02-16, полночь по Гринвичу, что неверно, или, по крайней мере, не то, что я ожидал, учитывая то, что анализирует другая строка.
Я бы понял это, если бы у них обоих было одинаковое поведение, будь то возвращение времени как местного времени или как UTC, но кажется очень непоследовательным, почему они возвращают разные вещи, подобные этому.
В качестве обходного пути всякий раз, когда я сталкиваюсь с датой, у которой нет соответствующей отметки времени, я могу добавить «00:00», чтобы добиться согласованного поведения, но это кажется довольно хрупким.
Я получаю это значение из элемента INPUT типа «datetime-local», поэтому мне кажется особенно непоследовательным, что мне приходится работать с значением, возвращаемым элементом страницы.
Я что-то делаю не так, или я должен делать что-то по-другому?
2016-02-16 00:00
- это совсем не похоже на действительное время. ecma-international.org/ecma-262/6.0/… , но даже после того, как вы поместилиT
туда, он действительно ведет себя по-другому