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?
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.
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.
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
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/
utiliser fuseau horaire par getfunction Exemple: utilisation de getTimezoneOffset
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;