2015-09-25 93 views
0

我使用PHP讀取從數據庫的數據和將數據存儲到一個數組獲取使用海軍報

在數據庫錯X軸,第一一個是日期與時間(時間戳)和下一個是值。

echo json_encode($arr); 

我得到以下輸出

[[1424803440,15.739993],[1424804580,13.698263],[1424805780,13.214383],[1424806980,15.393282],[1424808180,14.356073],...........] 

現在

<script type="text/javascript"> 
var updateinterval=1000; 
var data=[]; 
function getdata(){ 
data=<?php echo json_encode($arr); ?>; 
} 
var options={ 
       series: { 
            lines: { 
                 show: true, 
                 //lineWidth: 2, 
                 fill: true 
              }, 
         points:{ 
           show: "triangle" 
           } 
         }, 
xaxis: { 
    mode: "time", 
    TickSize: [1, "minute"], 
    //timeformat: '%d/%m %H:%M:%S',      
    tickFormatter:function (v, axis) { 
    var date = new Date(v); 
   if (date.getMinutes() % 1 == 0) { 
    var years= date.getYear() <70 ? "0" +date.getYear() :date.getYear(); 
    var dates=date.getDate() <10 ? "0" +date.getDate() : date.getDate(); 
    var months=date.getMonth()< 10 ? "0" +(date.getMonth()+2) :date.getMonth(); 
    var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); 
  var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(); 
    var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); 
       return dates+ "-"+ months+ "-"+ years +" "+hours + ":" + minutes + ":" + seconds; 
    } 
       else { 
                return ""; 
             } 
       }, 
             
       axisLabel: "Time", 
          axisLabelUseCanvas: true, 
          axisLabelFontSizePixels: 12, 
          axisLabelFontFamily: 'Verdana, Arial', 
          axisLabelPadding: 10 
       }, 
        yaxis: { 
              
             axisLabel: "Data loading", 
             axisLabelUseCanvas: true, 
              axisLabelFontSizePixels: 12, 
             axisLabelFontFamily: 'Verdana, Arial', 
             axisLabelPadding: 6 
         }, 
       legend: {        
             labelBoxBorderColor: "#B0D5FF" 
         }, 
        grid: { 
          hoverable: true, 
          clickable: true, 
          //backgroundColor: { 
               //colors: ["#B0D5FF", "#5CA8FF"] 
              //} 
                } 
}; 
    $(document).ready(function() { 
      getdata(); 
      var dataset=[ 
       { 
       label: "Data", 
       data: data, 
       points: { 
          symbol: "triangle" 
         } 

      } 
      ]; 
     $.plot($("#flot-container"), [dataset], options); 

function update() { 
          getdata(); 
       if(data.length>15){ 
        data.shift(); 
       } 
          $.plot($("#flot-container"), dataset, options); 
       setInterval(update, updateinterval); 
       } 
  
    update(); 
}); 

</script> 

我得到下面的輸出=> enter image description here

但我想讓它顯示2月24日2015 18:44,.........等 爲什麼我g錯誤的x軸?我在哪裏做錯了?我該如何解決它?請幫忙。

回答

0

epoch開始,您的時間戳記以秒爲單位。這是UNIX和PHP中的格式。在JavaScript中,你需要自紀元以來的毫秒。將您的時間戳與1000相乘。這在Flot文檔中描述爲here

您可以通過此兩條線在你的瀏覽器控制檯比較看到:

new Date(142480344) 
new Date(1424803440000) 
+0

感謝。問題是固定的。 – ARoy