2017-02-14 21 views
1

Google Chartでグラフを作成します。しかし、Safariでしか動作しません。 が、私はエラーを取得する:Google ChartはSafariでしか動作しません

a.getTime is not a function. (in 'a.getTime()','a.getTime' is undefined).

私の日付コード:

var date = new Date(); 

をこれは、行の私のコードです:

data.addRows([ 
    <?php 
     $now = date(); 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -7 Day")).'), 80,  8,  96,  , 100, , , , , 38, , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -6 Day")).'), ,   12,  ,  , 102, ,  , , , , , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -5 Day")).'), 100, ,  , , , ,  ,  , , 36 , , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -4 Day")).'), ,   ,  ,  , ,  ,  , , , 36, , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -3 Day")).'), ,   18,  93,  , ,  ,  , , , , , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -2 Day")).'), 120, ,  ,  , ,  ,  , , , , , ,],'; 
     echo '[new Date('.date("Y, m, d, H, i, s", strtotime("$now -1 month -1 Day")).'), 85,  14,  98,  , 54,  , , , , , , ,],'; 
     $query = "SELECT * FROM `test` ORDER BY date ASC"; 
     if ($result = $mysqli->query($query)) { 
      while ($arr = $result->fetch_assoc()) { 
       $date = $arr['date']; 
       echo ' 
        [ 
         new Date('.date("Y, m, d, H, i, s", strtotime("$date -1 month")).'), 
         '.$arr['test1'].', 
         '.$arr['test2'].', 
         '.$arr['test3'].', 
         '.$arr['test4'].', 
         '.$arr['test5'].', 
         '.$arr['test7'].',  
         '.$arr['test8'].', 
         '.$arr['test9'].', 
         '.$arr['test10'].', 
         '.$arr['test11'].', 
         '.$arr['test12'].', 
         '.$arr['test13'].', 
        ], 
       '; 
      } 
     } 
    ?> 
    ] 
); 

私がここに日付が間違っているものだと思います。

Safariで動作しない理由がわかりません。

+1

私はサファリにテストする方法が、_shouldのwork_を使用した日付のコンストラクタを持っていません - フォーマットが生成する先頭のゼロは、なぜこれが問題を引き起こすのか分かりませんが、あなたがそれを排除できるかどうかは分かりませんか? - > '新しい日付(2017、01、07、00、00) - 対 - >'新しい日付(2017,1,7,0,0,0) '' - _itはstretch_ – WhiteHat

+0

あなたの良い答えをありがとう。私はそれを試みたが、それはまだSafariでのみ動作しません.. –

答えて

1

あなたでし多分JSON文字列の形式を使用して日付をロードしてみてください

"Date(2017, 1, 13, 0, 0, 0)"

これはおそらく、あなたのコードのレイアウトにいくつかの多額の変更が必要になり、
それは

を動作する場合、それ価値があるかもしれません最初JSON文字列を構築

代わりにaddRows方法を用いて、
クレア唯一のこと - DataTable

TE作業スニペット以下を参照してください...

google.charts.load('current', { 
 
    callback: function() { 
 
    var jsonData = '{"cols": [{"label": "Date", "type": "date"}, {"label": "Value", "type": "number"}], "rows": [{"c":[{"v": "Date(2017, 1, 13, 0, 0, 0)"}, {"v": 1}]}, {"c":[{"v": "Date(2017, 1, 14, 0, 0, 0)"}, {"v": 2}]}]}'; 
 

 
    var data = new google.visualization.DataTable(jsonData); 
 

 
    var table = new google.visualization.ChartWrapper({ 
 
     chartType: 'Table', 
 
     containerId: 'chart_div', 
 
     dataTable: data 
 
    }); 
 
    table.draw(); 
 
    }, 
 
    packages: ['table'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

関連する問題