2016-11-04 254 views
0

我有一個字符串,我從一個JSON對象檢索,我試圖將其轉換爲JavaScript日期變量,如下所示,但它始終返回一個無效日期。任何原因爲什麼?將字符串轉換爲javascript日期

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

JsFiddle

+1

做jsonObj [ 「DATEVALUE」]的typeof運算是什麼返回? – 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);