2014-12-06 107 views
0

日期让我疯狂。如何正确处理JSON和HighCharts中的日期对象?

我有在提交生成对象的一种形式:

formContents.date is "2011-02-25" 

var dateObject = new Date(formContents.date); 

所以现在dateObject是JS对象(星期三2011年2月25日08:00:00 GMT + 0800(HKT))

当我通过JSON发送给我的服务器然后再次检索它时,我得到的响应现在是一个字符串。

"Wed Feb 25 2011 08:00:00 GMT+0800 (HKT)" 

如果我直接插入这个字符串变成HighCharts这是行不通的 - HighCharts似乎要求所有的日期是形式:

Date.UTC(2011, 02, 25) 

是JSON不能发送JS对象或东西?我如何确保我的回应是

Date.UTC(2011, 02, 25) 

这样HighCharts可以理解它吗?

+0

一般highcharts需要时间戳,Date.UTC()允许返回,但不需要。因此,请检查您是否可以在您的后端以时间戳的形式返回日期 – 2014-12-08 11:47:40

回答

1

好吧,我为这些事情有点粗糙,所以我的“flinstone”的解决方案将是变换分析字符串:

a = "Wed Feb 25 2011 08:00:00 GMT+0800 (HKT)"; 
b = a.split(" "); 
c = { 
    Jan: 01, Feb: 02, Mar: 03, Abr: 03, May: 05, Jun: 06, 
    Jul: 07, Aug: 08, Sep: 09, Oct: 10, Nov: 11, Dec: 12 
}; 

year = b[3]; 
month = c[b[1]]; 
day = b[2]; 

date = [year, month, day]; 
+0

谢谢!哈哈,我最终做的是转向Moment.js。瞬间为你做所有这些东西。 – fuzzybabybunny 2014-12-07 09:01:51

+0

好,这样一个人不必做脏兮兮的工作哈哈 – Verhaeren 2014-12-07 17:16:59