Highstocks纪元时间与时区不匹配

时间:2012-09-13 01:14:36

标签: javascript graph highcharts

我正在尝试使用highstocks库填充图表。我给了纪元时间作为x轴的输入。我能够成功生成图形,但问题是由highstock转换的纪元时间与我的时区不匹配。例如

我的输入纪元时间是:1347497100000

转换后的结果是:2012年9月13日星期四00:45:00 GMT

预期结果为:2012年9月12日星期三17:45:00 GMT-0700

此时区错误匹配是现在正在显示的错误值。

我也试过设置这个属性,但没有运气:

global: {
    useUTC: false
},

我在太平洋时区。当我尝试做的时候:

console.log(new Date)

从同一个脚本中,它会在太平洋时间返回给我时间。

您能否建议如何解决此时区的不匹配问题?

2 个答案:

答案 0 :(得分:9)

再次阅读global.useUTC api引用可能是个好主意

  

不适用于每个图表的全局选项。这些选项,   像lang选项一样,必须使用Highcharts.setOptions设置   方法

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

这意味着全局属性并不特别适用于任何图表,Highcharts会盲目地忽略该选项,即使您将其设置在单个图表中,如

var chart=new Highcharts.StockChart({
{
  ...
    global: {
        useUTC: false
    }
  ...
});

简而言之,在创建任何图表对象之前,使用Highcharts.setOptions方法显式设置全局选项 Local/Client Time Zone | Highchart & Highstock @ jsFiddle

答案 1 :(得分:0)

在处理日期和时间时,转换问题非常常见。

This link here shows the solution, to multiply by 1000, to get correct version.

希望有所帮助。