首页 > 解决方案 > Highstock 日期和时间错误

问题描述

新手来了 尝试在以下代码中对我的日期和时间进行排序。

我的代码中的图表工作正常,但显示的是 1 月 1 日星期四 00.00.00.000 到 1 月 1 日星期四 00.00.00.039。它应该显示相隔 30 分钟的今天的日期和时间,因为这是数据库中的内容。

<?php
$servername = "localhost";
// REPLACE with your Database name
$dbname = "a";
// REPLACE with Database user
$username = "";
// REPLACE with Database user password
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, value1, value2, value3, value4, value5, reading_time FROM Sensor order by reading_time desc limit 40";

$result = $conn->query($sql);

while ($data = $result->fetch_assoc()){
    $sensor_data[] = $data;
}

$readings_time = array_column($sensor_data, 'reading_time');

// ******* Uncomment to convert readings time array to your timezone ********
$i = 0;
foreach ($readings_time as $reading){
  // Uncomment to set timezone to + 10 hours (you can change 10 to any number)
  $readings_time[$i] = date("d-F H:i", strtotime("$reading + 16 hours"));
  $i += 1;
}

$value1 = json_encode(array_reverse(array_column($sensor_data, 'value1')), JSON_NUMERIC_CHECK);
$value2 = json_encode(array_reverse(array_column($sensor_data, 'value2')), JSON_NUMERIC_CHECK);
$value3 = json_encode(array_reverse(array_column($sensor_data, 'value3')), JSON_NUMERIC_CHECK);
$value4 = json_encode(array_reverse(array_column($sensor_data, 'value4')), JSON_NUMERIC_CHECK);
$value5 = json_encode(array_reverse(array_column($sensor_data, 'value5')), JSON_NUMERIC_CHECK);
$reading_time = json_encode(array_reverse($readings_time), JSON_NUMERIC_CHECK);

/*echo $value1;
echo $value2;
echo $value3;
echo $value4;
echo $value5;
echo $reading_time;*/

$result->free();
$conn->close();
?>

图表时间的代码行是

xAxis: { 
  type: 'datetime',
  categories: reading_time
  },

标签: javascriptphphtmlmysqlhighcharts

解决方案


推荐阅读