0

我一直在尝试使用 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 滑块中获取的两个值。

4

1 回答 1

0

Javascript 时间戳包括毫秒

整数值,表示自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来的毫秒数

在您的 PHP 中,当您strtotime($row['time'])需要乘以 1000 作为strtotime返回自 1970 年 1 月 1 日 00:00:00 UTC 到指定日期的秒数时。

$js_time = strtotime($row['time']) * 1000;
于 2014-03-18T12:13:53.900 回答