【问题标题】:highcharts gets my hour time wronghighcharts 弄错了我的时间
【发布时间】:2013-08-20 15:57:40
【问题描述】:

highcharts 弄错了我的小时数

为了以防万一,我来自委内瑞拉。我在做一个实时系统,我在我的数据库中获取时间、秒和毫秒,比如 10:39:09:2

我应用 strtotime($time) 然后我通过 json 发送到图表

在我的highcharts中,我进入了

xAxis: {
  type: 'datetime',
  title: {
    text: 'Tiempo'
  }

utc 函数已经为假

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

我获取 json 的函数是

function requestData_Frecuencia() {
  $.ajax({
    url: 'Datos_Frecuencia.php',
    success: function (point) {
      var series = chart_Frecuencia.series[0],
        shift = series.data.length > 400;
      //add point
      chart_Frecuencia.series[0].addPoint(eval(point), true, shift);
      setTimeout(requestData_Frecuencia, 500);
    },
    cache: false
  });
}

PS。好久没用英文写了,如果我写错了或者不清楚的地方,请原谅我。

【问题讨论】:

  • 那么,到底出了什么问题?提前一小时和一小时后有数据的点是否完全不同?
  • 您的数据库存储的时间很可能不是使用委内瑞拉的语言环境。
  • 数据库像委内瑞拉时间一样存储时间,但是当它到达高位时,时间完全改变了。我认为因为我发送的数据包含毫秒和 highcharts 支持直到秒(我想,我不确定)

标签: php javascript json highcharts


【解决方案1】:

您应该检查数据库中的原始值。我知道 MySQL 将日期存储在 GMT 中。不确定您正在使用的数据库,但这样做的原因是:

格林威治标准时间是绝对时间参考,不随季节变化。

您必须将时间转换为您的语言环境,即UTC–04:30

看看:Convert date to another timezone in JavaScript

【讨论】:

  • 我不确定如何实施。但是我从我的数据库(它是 pgsql)带来的日期时间并在 json 中发送已经在我的时区但是当它到达 highcharts 时更改为另一个日期时间。
【解决方案2】:

Highcharts 不包括时区,您唯一能做的就是禁用 UTC,就像您一样。那么您需要翻译您的数据或使用标签格式化程序/工具提示格式化程序来显示正确的数据。

【讨论】:

  • 你将如何翻译数据?
  • 在格式化程序中添加所需的值,例如:formatter : function() { return Highcharts.dateFormat('%H:%M', this.value + 2 * 3600 * 1000); } 其中+ 之后的值是您要添加翻译的值。
【解决方案3】:

我发现我做错了什么(found the answer here)。我曾经在 php 中度过我的时间,例如:

while($r2 = pg_fetch_array($sth)) {
    $hora = $r2['hora'];
    $Frecuencia  = $r2['frecuencia'];
}
$x=strtotime($hora); 

我需要乘以 1000 的时间。我想,是因为我需要建议日期是毫秒的形式(即整数)

while($r2 = pg_fetch_array($sth)) {
    $hora = $r2['hora'];
    $Frecuencia  = $r2['frecuencia'];
}
$x=strtotime($hora)*1000; 

PD:无论如何,感谢大家的建议和回复。我真的很感激

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多