Nvd3图表不同的时区

时间:2016-06-26 15:52:49

标签: javascript d3.js nvd3.js

我现在因时间问题而挣扎。

我使用 NVD3库创建我的图表,我在服务器端计算所有图表数据

问题是图表的时间范围是根据我的计算机时间(GMT + 3)和不是我的机器(UTC)。我怎样才能将它取为UTC而不是GMT + 3?

我该怎么办?

如果可以帮助我添加我的代码

nv.addGraph(function() {
var chart = nv.models.lineWithFocusChart().x(function(d) {return d[0];}).y(function(d) { return d[1]; });
chart.yAxis
.tickFormat(d3.format(',.2f'));

chart.y2Axis
.tickFormat(d3.format(',.2f'));

chart.xAxis
.tickFormat(function(d) { return d3.time.format('%H:%M:%Z')(new Date(d)) });

chart.x2Axis
.tickFormat(function(d) { return d3.time.format('%H:%M:%Z')(new Date(d)) });

d3.select('#chart svg')
.datum(data)
.transition().duration(500)
.call(chart);

return chart;

1 个答案:

答案 0 :(得分:2)

找到了解决方案!

 var now =new Date();
chart.xAxis.tickFormat(function(d) {  if (d!= undefined) 
    { 
    return d3.time.format('%H:%M')(new Date(d+ now.getTimezoneOffset() *             60000  +Number(timeZoneOffset) )) }
});