我现在因时间问题而挣扎。
我使用 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;
答案 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) )) }
});