web-dev-qa-db-fra.com

Fuseau horaire sur les graphiques supérieurs

Autant que je sache, le paramètre par défaut pour Highcharts est UTC. J'ai essayé de faire comme suggéré par la réponse dans ce post Graphique en abscisse graphique en abscisse pour différentes plages de dates . Si je comprends bien, le fuseau horaire doit être celui du navigateur.

J'ai testé cela sur jsFiddle et l'activation de l'option useUTC semble n'avoir aucun effet. 

http://jsfiddle.net/looneyp/me3ry/

Question : Qu'est-ce que je fais de mal ci-dessus et comment définissez-vous le fuseau horaire correctement?

11
Codey McCodeface

C'est un de ces jours 

Je suis au Royaume-Uni, donc UTC, vrai ou faux, donne les mêmes résultats que je suis à l'heure GMT. Mon décalage entre l'heure d'affichage prévue était dû à un problème d'analyse de PHP vers unixTime.

10
Codey McCodeface

Rien de ce que vous faites ne semble être faux. This jsFiddle montre un décalage dans l’axe des abscisses lorsque l’UTC est désactivé dans les options globales de Highcharts.

6
Dennis

Highcharts prend désormais en charge les fuseaux horaires dans la version 3.0.8

Vous pouvez maintenant définir la propriété globale timezoneOffset: http://api.highcharts.com/highcharts#global.timezoneOffset

6
magagnon

Les Highcharts ont déplacé cette option dans des versions plus récentes.

Une chose à garder à l'esprit est que votre décalage semble être l'inverse ou négatif de l'heure locale de votre heure UTC, donc si vous êtes en UTC + 2 par exemple, alors votre timezoneOffset sera -2 * 60, ce qui n'est pas entièrement intuitif:

Highcharts.setOptions({
    time: {
        timezoneOffset: -2 * 60
   }
});

Documentation de l'API: https://api.highcharts.com/highcharts/time.getTimezoneOffset

Voici un exemple: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/time/timezoneoffset/

3
Allan Houston

utiliser fuseau horaire par getfunction Exemple: utilisation de getTimezoneOffset

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
0
Joe Sebin