2016-06-26 4 views
2

Ich habe jetzt mit einem Zeitproblem zu kämpfen.Nvd3 chart andere Zeitzone

ich die NVD3 Bibliothek bin mit meiner Grafik zu erstellen, berechne ich die alle Datentabelle an der Server-Seite.

Das Problem ist, dass der Zeitbereich in der Grafik entsprechend meiner Computerzeit (GMT + 3) und nicht meine Maschine (UTC) ist. Wie kann ich es abrufen, um UTC und nicht GMT + 3 zu sein?

Was kann ich tun?

Ich füge meinen Code, wenn es

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

Generiert der Server die Diagrammdaten in CMT + 3 oder in UTC? –

+0

der Server generiert es auf UTC und der Client in UTC + 02: 00 –

+0

aber das Problem ist das Projekt sollte auf verschiedenen Zeitzonen zur gleichen Zeit arbeiten –

Antwort

1

fand eine Lösung helfen können!

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))) } 
});