2017-03-14 11 views
1

私はGoogle Chartsを使ってScatterグラフ上のX AxisにMySQL TimeStampを使用しようとしています。現在、グラフをstrtotime()関数を使用して表示する方法は私が管理している唯一の方法です。これはグラフまたは私をstrtotime()関数と1970年1月1日からの秒数を混同します。Google Chartsの日付と時刻の使い方

新しい日付(2017-03-07 02:03:12)] YYYY-MM-DD HH:ii:SSこれは私のタイムスタンプから来る日付の形式です。私がこのようにしておけばエラーが出ます。私はstrtotime()に時間を変更する場合のみ、これは動作します。しかし、グラフには時間が正しく表示されません。タイムスタンプを表示する別の方法がありますか? googleのドキュメントはあまり意味がありません。

 function drawChart() { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('number', 'Distance'); 
    data.addColumn('datetime', 'time'); 

    data.addRows([ 


    <?php 
    $query = "SELECT * FROM iot_sensors WHERE Sensor_ID ='Ultra_Dist'"; 
    $execute = mysqli_query($conn, $query); 

     while ($row = mysqli_fetch_array($execute)){ 

      $date = strtotime($row['Time_Stamp']); 

      echo "[".$row['Sensor_1'].", new Date(".$date.")],"; 

    $Trimmed = trim($row['Time_Stamp']); 
    //echo $Trimmed; 

    } 
    ?> 
]); 

var options = { 
    width: 800, 
    height: 500, 
    chart: { 
    title: 'Frequency of movement by time', 
    subtitle: 'Frequency of movement' 
    }, 
    hAxis: {title: 'Distance'}, 
    vAxis: {title: 'time'} 
}; 

これは私のテーブルからTIME_STAMPおよび他の値を取得し、グラフが使用するアレイにそれを置く私のコードです。

+0

[この回答](http://stackoverflow.com/a/39756555/5090771)_may_help ... – WhiteHat

答えて

0
<?php 
    $query = "SELECT * FROM iot_sensors WHERE Sensor_ID ='Ultra_Dist'"; 
    $execute = mysqli_query($conn, $query); 

     while ($row = mysqli_fetch_array($execute)){ 

      $date = ($row['Time_Stamp']); 
      $date2 = new DateTime($date); 
      $date3 = date_format($date2, 'Y,m,d,H,i,s'); 

      echo "[new Date(".$date3."),".$row['Sensor_1']."],"; 
    } 
    ?> 

日付を新しいDate()オブジェクトに入れ、それを受け入れられた形式に再フォーマットして、日付を配列にエコーします。