即使时区不是UTC,也要将点放在Highcharts的中心位置

时间:2011-12-18 02:51:45

标签: php highcharts

我尝试了所有可能的事情,但因为我的时区设置为America/New_York,我的点就像5px一样直到实际的刻度。 (我真的试着做所有事情,并且全天都在谷歌搜索答案)

这是我的PHP代码:

<?php
header("Content-type: text/json");

include('../includes/config.php');

$tablename = "analytics";

$result = mysql_query("SELECT date, DATE_FORMAT(date, '%Y-%m-%d') AS date2, COUNT(*) AS count FROM $tablename GROUP BY date(date) DESC LIMIT 7");


$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {

    $total = $row["count"];
    $rows[$i] = array( gmdate( strtotime($row['date2']) )*1000, $total);

    $i++;
}

echo json_encode($rows);

?>

以下是我得到的结果: result

*请勿注意标签未居中的说明,如果xAxis的类型为datetime,我发现您无法居中标签。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

  

$ rows [$ i] = array(gmdate(strtotime($ row ['date2']))* 1000,$ total);

您正在使用gmdate,它以GMT格式返回时间。如果您在数据库中存储00:00,gmdate将返回05:00。

只需将其更改为日期即可解决此问题:

  

$ rows [$ i] = array(date(strtotime($ row ['date2']))* 1000,$ total);

答案 1 :(得分:0)

尝试使用Highcharts全局设置

Highcharts.setOptions({
    global: {
        useUTC: false
    }
 });

http://api.highcharts.com/highcharts#global.useUTC