Почему Date.parse дает неверные результаты? - PullRequest
317 голосов
/ 06 апреля 2010

Случай один:

new Date(Date.parse("Jul 8, 2005"));

Выход:

Пт, 08 июля 2005 00:00:00 GMT-0700 (PST)

Случай второй:

new Date(Date.parse("2005-07-08"));

Выход:

Чт, 07 июля 2005 17:00:00 GMT-0700 (PST)

<ч />

Почему второй анализ неверен?

Ответы [ 11 ]

0 голосов
/ 10 июня 2018

Правильный ответ от CMS правильный, я только что добавил некоторые функции:

  • обрезать и чистить поля ввода
  • разбирать косые черты, тире, двоеточия и пробелы
  • имеет день и время по умолчанию

// parse a date time that can contains spaces, dashes, slashes, colons
function parseDate(input) {
    // trimes and remove multiple spaces and split by expected characters
    var parts = input.trim().replace(/ +(?= )/g,'').split(/[\s-\/:]/)
    // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
    return new Date(parts[0], parts[1]-1, parts[2] || 1, parts[3] || 0, parts[4] || 0, parts[5] || 0); // Note: months are 0-based
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...