Ответ 1
Это один из тех дней
Я в Великобритании, поэтому UTC верно или ложно дает те же результаты, что и я в GMT. Мое расхождение между ожидаемым временем показалось из-за проблемы синтаксического анализа в PHP до unixTime.
Насколько я понимаю, значение по умолчанию для Highcharts - это UTC. Я попытался сделать так, как было предложено в ответе в этом столбце График X-оси графика Highcharts для разных диапазонов дат. Если я правильно понимаю, это должно установить часовой пояс для браузера.
Я тестировал это на jsFiddle, и переключить параметр useUTC
, кажется, не имеет никакого эффекта.
http://jsfiddle.net/looneyp/me3ry/
Вопрос: Что я делаю неправильно, и как вы правильно настроили часовой пояс?
Это один из тех дней
Я в Великобритании, поэтому UTC верно или ложно дает те же результаты, что и я в 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
использовать часовой пояс by getfunction Пример: Использование getTimezoneOffset
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
Добавьте этот код в document.ready, и вы должны получить верхние чарты в вашем местном часовом поясе, если вы используете UTC время
$(document).ready(function () {
Highcharts.setOptions({
global: {
/**
* Use moment-timezone.js to return the timezone offset for individual
* timestamps, used in the X axis labels and the tooltip header.
*/
getTimezoneOffset: function (timestamp) {
d = new Date();
timezoneOffset = d.getTimezoneOffset()
return timezoneOffset;
}
}
});
});