2012-09-13 35 views
5

我正在尝试使用highstocks库来填充图表。我给纪元时间输入x轴。我能够成功生成图形,但问题在于高炉转换的时代与我的时区不匹配。例如Highstocks时代与时区不匹配

我的输入信号出现时间是:1347497100000

皈依后存在的结果是:星期四,2012年9月13日0时45分○○秒GMT

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

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

我也尝试设置该属性,但没有运气:

global: { 
    useUTC: false 
}, 

我在太平洋时区。当我试着做:

console.log(new Date) 

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

你能请指教如何解决这个时区的不匹配?

+0

c你做了一个jsFiddle? –

+0

这里是jsfidle链接:http://jsfiddle.net/SLB4P/1/ – Raghuveer

回答

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

感谢您的回复!这工作。欣赏它。 – Raghuveer

+0

啊,全球vs.本地图表选项。意外。真诚的感谢。这在未来的实施中可能是有益的。 +1。 –

0

无论何时处理日期和时间,转换问题都是非常常见的情况。

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

希望有所帮助。

+1

感谢您的回复,但我的问题不是关于sec vs毫秒,它选择了错误的时区。为了验证我的时代价值,我尝试了2种不同的时代转换器,并获得了2个差异值。一个给出GMT时区,另一个给出太平洋时区。我需要太平洋时区,但在绘制高图/高房价时,我正在获得gmt时区。我也尝试过把我的价值乘以1000,但这个转换给了我一年6240.任何建议?这里是jsfidle链接也是:http://jsfiddle.net/SLB4P/1/ – Raghuveer

+0

真棒澄清。是。看看。啊,所以我明白了。 +1。祝一切顺利。 –