Highcharts根据时区显示错误的时间

时间:2016-06-26 06:25:36

标签: php highcharts

我通过PHP引入了这样的数据:

Sun Jun 26 02:00:01 EDT 2016

它变成了这个变量:

    $arr_dates[] = date("m/d/Y H:i", strtotime($datestr, time()));

并在Highcharts中使用:

        series: [{
            name: '# users online',
            data: [<?php echo "\n"; foreach ( $arr_num_users as $i ) { echo "[Date.parse('".$arr_dates[$ct]."'),".$i."],\n";$ct++; } echo "\n]"; ?>
        }

因此,当我(EDT时区)查看时,图表会正确显示,时间显示为GMT + 0.

但是其他人使用不同的时区,时间已经过去了。因此,PDT中的某个人会看到一个图形,该图形偏差3小时,这是不正确的。它应该始终是一个设定的时间,或者至少是准确的。

我该如何解决这个问题? setUTC似乎没有帮助。

    Highcharts.setOptions({
       global: {
            useUTC: true
       }
    });
    $('#container').highcharts({
        chart: {
            zoomType: 'x'
        },
                    rangeSelector : {
                            selected : 1
                    },
.....

我还试过没有任何setOptions,没有任何改变。

这是在Highcharts v3.0.10

要明确的是,图表上的时间会根据用户的变化而变化。时区。我不希望这种情况发生。

您可以在此处查看此问题:http://observit.org/rffxiv.php(切换到EDT以显示正确显示的时区,然后切换到其他内容并刷新;将显示问题)

1 个答案:

答案 0 :(得分:1)

这对我有用。

Highcharts.setOptions({
    global: {
        timezoneOffset: 5 * 60 //EST offset
    }
});