带有x轴日期和时间的高图表(来自格式为YYYYMMDDHHMM的数据库)


Highcharts with date and time for x axis (from a database with format YYYYMMDDHHMM)

我正试图使用Highcharts为x轴的时间和日期值绘制一张图。我的数据库的日期值为YYYYMMDDHHMM(201409011345),我想用这个日期和时间绘制y值。我的代码如下;

<?php
while ($row = mysql_fetch_array($result)) {
   extract $row;
   $data[] = "[$datetime, $value]"; //here $datetime is like 201405242625 (YYYYMMDDHHMM)
}
?>
var chart = new Highcharts.Chart({
      chart: {
         renderTo: 'container'
      },
      series: [{
         data: [<?php echo join($data, ',') ?>]
      }]
});

请给我任何建议,以获得x轴的正确日期时间值

感谢

您的日期值必须是epoch格式,或者是date.UTC对象。

我不确定PHP对日期格式的理解程度,但如果可以的话,可以使用strtotime()函数。

在你的情况下,它将是

$date_stamp = strtotime($datetime) * 1000

您需要*1000,因为PHP使用以秒为单位的epoch时间,Javascript使用毫秒。

如果PHP很难解释您的日期格式,您可能需要在数据库查询中对其进行格式化,或者使用PHP的substr()函数将其分解为组件并重建可读的日期格式。

参考文献:

  • http://www.epochconverter.com/

  • http://php.net/manual/en/function.strtotime.php

  • 如何使用HighCharts 在xAxis上列出日期(逐日)