我用Googlechart制作一张图表。但它仅在Safari中不起作用。 我收到错误:
a.getTime不是一个函数。 (在'a.getTime()'中,'a.getTime'是 未定义)。
我的日期代码:
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中使用。
答案 0 :(得分:1)
您可以尝试使用json字符串格式
加载日期 "Date(2017, 1, 13, 0, 0, 0)"
这可能需要对代码的布局进行一些重大改动,
但是如果可以的话可能是值得的
而不是使用addRows
方法,首先构建json字符串,
然后创建DataTable
请参阅以下工作代码段...
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>