Как преобразовать строку в класс Date в JavaScript? - PullRequest
2 голосов
/ 29 февраля 2012
var from = "2012-01-13 T11:00:00";

Date date = parseDate(from);

Как я могу преобразовать этот текст в объект Date?

Ответы [ 3 ]

8 голосов
/ 29 февраля 2012

Согласно этой статье , вы можете использовать различные шаблоны дат:

MM/dd/yyyy
yyyy/MM/dd
MM-dd-yyyy
MMMM dd, yyyy
MMM dd, yyyy

и шаблоны даты и времени:

MM/dd/yyyy hh:mm:ss tt
MMMM dd, yyyy HH:mm:ss

В вашем случае самое простое (возможно) - удалить символ T и заменить разделители - на /:

function parseDate(from){
    from = from.replace('T', '').replace(/-/g,'/');
    return new Date(from);
}
0 голосов
/ 29 февраля 2012

Пожалуйста, обратитесь к Ссылка на дату JavaScript . Оттуда вы можете разделить / проанализировать дату и построить объект DATE.

0 голосов
/ 29 февраля 2012

Вы можете проанализировать вашу строку вручную, а затем использовать конструкторы в https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

Тем не менее, см. javascript - строка до даты - формат php iso string

Согласно спецификации ECMAScript 5 (p171):

15.9.3.2  new Date (value)

[...]
If Type(v) is String, then [...] Parse v as a date, in exactly 
the same manner as for the parse method (15.9.4.2); let V be the 
time value for this date.

И в соответствии с https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse функции принимают только форматы даты RFC2822 или ISO 8601 . Это означает, что вам разрешено делать new Date(YOUR_FORMAT_STRING), но это допустимо, только если ваши даты имеют этот формат.

...