2012-07-30 57 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