2011-11-02 65 views
2

我有一個Highstock圖表,並且我從一個MySQL數據庫獲取數據,如this example中所示。在Highstock中顯示的MySQL日期

日期字段是MySQL時間戳。當我將光標置於一個值上時,只顯示年份而不是(日,月,日,年)。

關於爲什麼只顯示一年的任何想法?

我使用笨框架和服務器端的代碼如下所示:

 $sql = "SELECT UNIX_TIMESTAMP(sop_date)*1000 AS sop_date, sop_price 
       FROM share 
       INNER JOIN share_operation 
        ON share_operation.sop_idsha = share.sha_id 
       INNER JOIN share_operation_type 
        ON share_operation_type.sot_id = share_operation.sop_idsot"; 

     $params = array($sha_idcon, $sha_idwal); 
     $query = $this->db->query($sql, $params); 

     if ($query->num_rows() > 0) { 
      $data = array(); 

      foreach ($query->result() as $i => $row) { 
       $data[] = "[$row->sop_date, $row->sop_price]"; 
      } 

      return ($data); 
     } 

客戶端:

$(document).ready(function() { 

     Highcharts.setOptions({ 
     lang: { 
      months: ['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 
        'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'], 
      weekdays: ['Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'], 
      rangeSelectorFrom: 'Des de', 
      rangeSelectorTo: 'Fins' 
     } 
     }); 


     window.chart = new Highcharts.StockChart({ 
     chart : { 
      renderTo : 'graphic' 
     }, 

     rangeSelector : { 
      selected : 1 
     }, 

     title : { 
      text : 'Xisco' 
     }, 

     xAxis : { 
      maxZoom : 14 * 24 * 3600000 // fourteen days 
     }, 

     series : [{ 
      name : 'Xisco',      
      data : [<?php echo join($data, ',') ?>],       
      tooltip: { 
       yDecimals: 2 
      } 
     }] 
     }); 
      }); 
+0

當你不在'setoptions'中設置'lang'時會發生什麼? – abhinav

+0

沒有任何反應,是一樣的 – CardellCr

+0

數據如何顯示:data:[[1322321409000,80],[1322321409000,80],[1320308366000,22]] – CardellCr

回答

0

強制執行格式化功能可能會解決這個問題。

tooltip: { 
    formatter: function() { 
     return Highcharts.dateFormat('%e. %b %Y', this.x); 
    } 
} 

更多信息,在documentation. 希望這有助於。