highcharts让我的小时错误

时间:2013-08-20 15:57:40

标签: php javascript json highcharts

highcharts让我的时间错误

我来自委内瑞拉以防万一。我做了一个实时系统,我在db中获得时间,秒和毫秒等 10:39:09:2

我申请了strtotime($ time)然后我被json发送给了图表

在我的高调中,我进入了

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。我写英文已经有一段时间,所以如果我写错了,请原谅我,但不清楚。

3 个答案:

答案 0 :(得分:0)

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

  

GMT是绝对时间参考&不随季节变化。

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

查看:Convert date to another timezone in JavaScript

答案 1 :(得分:0)

Highcharts不包含时区,只有你可以做的是禁用UTC,就像你拥有的那样。您需要翻译数据或使用标签格式化程序/工具提示格式化程序来显示正确的数据。

答案 2 :(得分:0)

我发现了我做错了什么(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:感谢所有人提出的建议和回应。我真的很感激