2014-05-15 27 views
3

我有一些關於JSON和日期解析的新手問題。JSON與解析的時間或時間戳amCharts

我有一個JSON響應從我的服務器包含轉換時間戳到日期/時間,然後它被緩存。我認爲直接在服務器上轉換時間戳會利用客戶端的腳本。 所以我這樣做,我不得不從服務器響應這樣的:

[ 
    {"datetime": "2014/05/12 16:00", 
    "data": "172.0", 
    "data2": "192", 
    "data3": "172.0" 
    }, 
    {...} 
] 

此JSON文件,然後提取到amCharts,在Chrome中工作完全正常,而在Firefox和Safari瀏覽器將無法解析日期一樣,和我得到錯誤。

然後我改變了從服務器到這個JSON響應:

[ 
    {"datetime": 1213214234, 
    "data": 172.0, 
    "data2": 192, 
    "data3": 172.0  
    }, 
    {...} 
] 

我該如何處理時間戳與amCharts或可以使第一例的解決方法嗎? 因爲我的json文件包含超過2000個數據集,所以在服務器上轉換時間戳是否很好?

謝謝。

回答

3

AmCharts可以將日期作爲時間戳處理(不需要額外的操作),並且還可以處理使用幾乎任何日期格式設置爲字符串的日期。如果你的日期是字符串,你應該設置chart.dataDateFormat =「YYYY/MM/DD JJ:NN」;

查看這裏的模式列表:http://www.amcharts.com/tutorials/formatting-dates/

+0

And for stockChart,using timestamp? – Jack

+0

當然,股票圖表支持時間戳。 – zeroin

+1

使用stockCharts時間戳不起作用。我試着添加dateFormats:[{period:'mm',format:'YYYY-MM-DD JJ:NN'}]到categoryAxesSettings對象,但沒有運氣。在輸出中我只能得到一個日期:1970-01-17 06:04 – Jack

0

它會幫助你,如果我建議將時間戳轉換爲日期時間與JavaScript?

var date = new Date(timestamp*1000); 
datevalues = [ 
    date.getFullYear() 
    ,date.getMonth()+1 
    ,date.getDate() 
    ,date.getHours() 
    ,date.getMinutes() 
    ,date.getSeconds() 
]; 

我不確定它是否有幫助。