我一直在尝试使用canvasJS从数据库中绘制一些数据。我目前拥有它所以它需要我的数据,将其编码为json并将其传递回在线图上绘制的位置,这样工作正常,但它只是使用数值0,1,2,3 ......对于x值。
现在我想把我在数据库中也有的时间用作x值。当我简单地将它们粘在json编码中时,它们会以格式(hh:mm:ss)添加为字符串
当我使用strtotime($row['time'])
时,它们被转换为时间戳并被绘制,但这些没有意义。如何将它们转换回javascript时间,在绘制时更有意义?
这是执行ajax调用的代码:
$.post( "display_ajax.php", { hour: $("#slider-range").slider("values",0)+":"+$("#slider-range").slider("values",1)}, function( datax ) {
console.log(datax);
dataPoints = datax;
dataSeries.dataPoints = dataPoints;
data.push(dataSeries);
console.log(dataPoints);
draw_chart ();
},"json");
其中传递的数据是从jquery滑块获取的两个值,这些值对应于时间范围。
答案 0 :(得分:0)
Javascript timestamps include milliseconds
表示自1970年1月1日00:00:00 UTC(Unix Epoch)以来的毫秒数的整数值
在您的PHP中,当您执行strtotime($row['time'])
时,需要乘以1000,因为strtotime
会返回自1970年1月1日00:00:00 UTC以来直到指定日期的秒数。
$js_time = strtotime($row['time']) * 1000;