Я строю временные метки UTC для конкретного пользователя, чей часовой пояс мне известен. Каждая точка данных имеет формат "2018-06-19 13:19:52.000Z"
и была добавлена к серии точек, которые должны быть нанесены как moment("2018-06-19 13:19:52.000Z").tz(this.tiemZone).valueOf()
.
Когда точка строится, она отображается как 6/19 13:19:52
, но я бы хотел, чтобы она отображалась во временном поясе пользователя, поэтому что-то вроде 6/19 6:19:52
.
Я читал, что Highcharts строит графики в UTC, но если я установлю useUTC: false
(где-то), он будет отображаться в часовом поясе текущего браузера, но на самом деле я хочу построить график в часовом поясе пользователя, например, если часовой пояс "Лос-Анджелес", то указанное выше время будет 6:19:52
.
time = new window.Highcharts.setOptions({
time: {
timezone: _that.timeZone,
timezoneOffset: _that.offset
}
}, this);
return '<b>' + this.series.name + '</b><br/>' +
Highcharts.dateFormat('%m/%d %H:%M:%S',
this.x)
+ ' - ' + Highcharts.numberFormat(this.y, 2) + ' ' + toolTipUnits;
Смещение, которое я рассчитал после взятия момента одной из меток времени UTC:
moment(data[0][0]).tz(this.timeZone)._offset
, здесь было равно -420
Я пробовал что-то выше, но во всплывающей подсказке все еще отображается время UTC 13:19:52
. Любой совет?
************************ ОБНОВЛЕНИЕ ********************** *******
time = new Highcharts.setOptions({
global: {
timezone: _that.timeZone,
timezoneOffset: _that.offset
}
}, this);
return '<b>' + this.series.name + '</b><br/>' +
Highcharts.dateFormat('%m/%d %H:%M:%S', this.x)
+ ' - ' + window.Highcharts.numberFormat(this.y, 2) + ' ' + toolTipUnits;
Я обновил код, как показано выше, и теперь точка данных отображается как 6/19 20:19:52
, хотя я добавляю -420
к точке данных (this.x
). Глядя на это, но есть идеи, почему?