2012-02-24 32 views
0

我正在試圖用HighCharts顯示一個圖表,我用生成的系列來堆疊顯示。我擁有的是數據庫中的一系列時間戳。我想顯示事件之間的差異等等Xaxis我得到事件之間的時間(當前t2 - 前一個t2)恩我得到時間。所以現在我想用Date.parse來獲取秒數,但它沒有返回。我使用錯誤的Date.parse函數嗎?因爲當我把int數字顯示一條扁平線。Date.parse的用法

$i = 0;  
    foreach ($metingen as $index => $m) { 
     if($i != 0) $js .= ','; 
     $js .= "{name: '"; 
     $js .= "Event time " . substr($m[0]['t1'],0,16); 
     $js .= "', data: ["; 
     $j = 0; 
     foreach ($m as $ms) { 
      if($j != 0) $js .= ','; 
      $js .= Date.parse("2012-01-30 18:21:49")- 
          Date.parse("2012-01-30 18:21:47";//$ms['antaal']; 
      $j++; 
     } 
     $js .= "]}"; 
     $i++; 
    } 

數據庫查詢返回的時間格式爲:

t1     antaal t2 
2012-01-30 18:21:41 | 0 | 2012-01-30 18:21:42 
2012-01-30 18:21:41 | 1 | 2012-01-30 18:21:43 
2012-01-30 18:21:41 | 2 | 2012-01-30 18:21:53 
2012-01-30 18:21:41 | 3 | 2012-01-30 18:21:59 
+0

這就是爲什麼你應該不要混合Javascript和PHP。這是什麼爛攤子?請解釋你在這個「代碼」中要做的事情。 – kapa 2012-02-24 08:36:42

+0

這個混亂返回我需要的東西,它生成一系列圖HighCharts但Date.parse什麼也沒有返回。其實我是新的Javascript,所以甚至不知道如何調試(當使用Date.parse()時,我在頁面上什麼都沒有) – Hia 2012-02-24 08:40:08

+1

如果它適合你,沒問題。但是當你把它發佈給其他人時,你應該嘗試把它清理一下。這是在你的PHP或Javascript代碼?這是什麼系列:['在頂部? – kapa 2012-02-24 08:46:24

回答

2

只需加一件T

var date = new Date(Date.parse("2012-01-30 18:21:49".replace(" ","T")))

和Safari瀏覽器添加一個Z:

var date = new Date(Date.parse("2012-01-30 18:21:49".replace(" ","T")+"Z"))

或有

t1     antaal t2 
2012-01-30T18:21:41Z | 0 | 2012-01-30T18:21:42Z 
2012-01-30T18:21:41Z | 1 | 2012-01-30T18:21:43Z 
2012-01-30T18:21:41Z | 2 | 2012-01-30T18:21:53Z 
2012-01-30T18:21:41Z | 3 | 2012-01-30T18:21:59Z 

然而,對於Safari瀏覽器,你需要多一點

http://jsfiddle.net/mplungjan/QkasD/

此外,我想你的意思

$js .= 'Date.parse("'.$m1.'")-Date.parse("'.$m2.'");'; 

或類似

+0

這在safari中不起作用 – 2012-02-24 08:49:08

+0

同樣的結果。空白頁。 – Hia 2012-02-24 08:49:28

+1

你的PHP無效。顯示完整腳本 – mplungjan 2012-02-24 08:51:21