2012-07-30 30 views
0

我正試圖找到解析我的數據格式的方法,以便HighStocks能夠識別它。我從服務器獲取的數據是這樣的格式:爲HighStocks數據系列輸入準備我的數據

var data = [ 
    { 
     "dt":"2010-06-10 14:33:39", 
     "val":98 
    }, 
    { 
     "dt":"2010-06-10 14:34:18", 
     "val":99 
    }, 
    { 
     "dt":"2010-06-10 14:34:28", 
     "val":93 
    }, 
    { 
     "dt":"2010-06-10 14:34:38", 
     "val":79 
    }, 
    { 
     "dt":"2010-06-10 14:34:48", 
     "val":87 
    }, 
    { 
     "dt":"2010-06-10 14:34:58", 
     "val":86 
    }, 
    { 
     "dt":"2010-06-10 14:35:08", 
     "val":79 
    }, 
    { 
     "dt":"2010-06-10 14:35:17", 
     "val":90 
    }] 

從上Highcharts網站上的演示它接受類似格式:

var usdeur = [ 
[Date.UTC(2003,8,24),0.8709], 
[Date.UTC(2003,8,25),0.872], 
[Date.UTC(2003,8,26),0.8714], 
[Date.UTC(2003,8,29),0.8638], 
[Date.UTC(2003,8,30),0.8567], 
[Date.UTC(2003,9,1),0.8536], 
[Date.UTC(2003,9,2),0.8564], 
[Date.UTC(2003,9,3),0.8639], 
[Date.UTC(2003,9,6),0.8538], 
[Date.UTC(2003,9,7),0.8489]] 

所以,簡單地說,我怎麼能格式化我的數據2010-06-10 14:33:39Date.UTC(2010,06,10,14,33,39)?任何JavaScript/jQuery方法或像date.js/moment.js這樣的現有庫允許我輕鬆地做到這一點(例如,如果我不想使用getUTC*()獲取日期時間信息,然後將其放入Date.UTC()

謝謝提前。

回答

1

你爲什麼不在你的sql上格式化它?這比格式化每個點的要好得多。
UNIX_TIMESTAMP應該可以幫到你。

SELECT UNIX_TIMESTAMP(concat(dateColumn, timeColumn)) * 1000 AS 'dateUTC';

+0

我剛工作的圖表生成,但有人正在從數據庫返回的數據。因此,通過使用您提供的語法,日期格式可以從'2010-06-10 14:33:39'格式化爲'Date.UTC(2010,06,10,14,33,39)',這是格式需要HighCharts – sozhen 2012-07-30 19:49:10

+0

@SongtaoZ是的,它會工作,我用這種方式來格式化。 – 2012-07-30 20:00:55