2014-12-06 77 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