2016-11-04 5 views
0

У меня есть строка, которую я извлекаю из объекта JSON, и я пытаюсь применить ее к переменной даты javascript, как указано ниже, но все время возвращает недопустимую дату. Любые причины?Преобразование строки в javascript date

jsonObj["dateValue"]; //has a value: 2016-11-04T08:08:42.5780021+00:00 
var dateValue = new Date(jsonObj["dateValue"]); // returns invalid date?? 

JsFiddle

+1

сделать TYPEOF из jsonObj [ "DATEVALUE"], что что возвращение? – aliasav

+2

, если вы делаете новую дату («2016-11-04T08: 08: 42.5780021 + 00: 00»), он должен вернуть действительный объект даты, при условии, что его строка – aliasav

+0

возвращает строку, когда я сделал typeof. – Neophile

ответ

1

Вы имеете jsonObj как массив не объект. Первое значение в массиве - ваш фактический объект.

попробовать:

var dateValue = new Date(jsonObj[0]["dateValue"]); 

Или упростить значение jsonObj, сделав ее объектом, а не упаковка массива.

Обновлено скрипку - https://jsfiddle.net/wyqzmhz1/

0

Ваш jsonObj массив - таким образом, вы должны принять первый элемент

var jsonObj = [{ 
 
dateValue : "2016-11-04T08:08:42.5780021+00:00" 
 
}]; 
 

 
var dateValue = new Date(jsonObj[0]["dateValue"]); 
 
console.log(dateValue);

Смежные вопросы