【发布时间】:2016-06-26 06:25:36
【问题描述】:
我正在通过 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,然后切换到其他内容并刷新;将显示问题)
【问题讨论】:
-
我相信你需要知道用户的时区。据我所知,您需要 javascript 或可能的 ajax。从未尝试过获取用户时区,所以我不知道。
-
@Andreas 我不记得 Highcharts 提到过,很奇怪。
-
我不是在谈论特定的 highcharts,我是在谈论一般的网络开发。
-
@Andreas 好吧,我真的不想知道他们的时区,因为我希望日期时区是静态的。我不希望它根据他们的时区而改变,但它正在这样做,我不知道为什么。
-
在那种情况下我误解了你。对不起
标签: php highcharts