2016-11-04 181 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);