Часовой пояс на Highcharts

насколько я понимаю, по умолчанию для Highcharts используется UTC. Я попытался сделать так, как предложил ответ в этом посте Highcharts graph x-axis label для разных диапазонов дат. Если я правильно понимаю, это должно установить часовой пояс для браузера.

я протестировал это на jsFiddle и переключая useUTC опция, похоже, не имеет никакого эффекта.

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

вопрос: что я делаю неправильно выше и как правильно установить часовой пояс?

5 ответов


Это один из тех дней

Я в Великобритании, поэтому UTC true или false дает те же результаты, так как я нахожусь в GMT. Мое несоответствие между ожидаемым отображаемым временем было связано с проблемой синтаксического анализа в PHP для unixTime.


все, что вы делаете, кажется неправильным. Это jsFiddle показывает сдвиг оси x, когда UTC отключен в глобальных параметрах Highcharts.


Highcharts теперь поддерживает часовые пояса в 3.0.8

теперь можно задать глобальное свойство timezoneOffset: http://api.highcharts.com/highcharts#global.timezoneOffset


Highcharts переместили эту опцию в более поздних версиях.

одна вещь, чтобы иметь в виду, что ваш сдвиг кажется обратным или отрицательным, где ваше местное время от UTC, так что если вы находитесь в UTC+2, например, то ваш timezoneOffset будет -2 * 60, что не совсем интуитивно:

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

документация по API:https://api.highcharts.com/highcharts/time.getTimezoneOffset

вот пример его: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/time/timezoneoffset/


использовать часовой пояс по getfunction Пример: использование getTimezoneOffset

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