如何更改 HighChart xAxis 时间轴以匹配本地时间而不是 UTC?

How to change HighChart xAxis timeline to match local time and not UTC?

请注意,在我上面的屏幕截图中,工具提示显示的是正确的当地时间。然而,xAxis 时间轴显示 12:00pm UTC 时间。

我在 2 个地方 global:useUTC 设置为 false:

在我的图表配置中:

 vm.config = {
    global: { useUTC : false }, // <--
    options: {
    // ....

以及我的 setHighCharts 函数,它在加载图表后得到 运行:

const setHighChartOptions = (color, background, gridLine) => {
    Highcharts.setOptions({
        global: { useUTC: false }, // <--
        chart: {
            backgroundColor: background
        },
        legend: {
            itemStyle: { color: color }
        },
        loading: {
            labelStyle: { color: color },
            style: { backgroundColor: background }
        },
        xAxis: { labels: {style: { color: color }}}
    });

    chart.get('y-axis-price').update({
        gridLineColor: gridLine,
        gridLineDashStyle: 'longdash'
    }, false);

    chart.get('x-axis-sentiment').update({
        tickColor: background
    }, false);

    chart.get('x-axis-alert').update({
        tickColor: background
    }, false);
};

有什么我想念的吗? :(

刚刚弄明白了!

我的 chartConfig 中的 global 对象没用....关键是 setHighChartOptions 函数。需要 运行 才能将 useUTC 设置为 false。

问题出在我的应用程序中,只有当您更改主题时才会调用该函数。所以现在我只是在加载图表后立即调用它,现在 useUTC 正确设置为 false。

const initHighChart = (chart, urlObject) => {
    setHighChartOptions('#fff', '#474747', '#656565');
    let ticker = urlRetrieve.ticker(urlObject);
    let epoch  = urlRetrieve.epochs(urlObject);
    setNewChartTicker(chart, ticker, epoch.start, epoch.end);
};