【问题标题】:How to display UTC times properly in AmCharts 4如何在 AmCharts 4 中正确显示 UTC 时间
【发布时间】:2019-01-23 13:01:13
【问题描述】:

我正在尝试在 AmCharts 4 中制作一个简单的图表,其中所有时间都必须是 UTC,但是 DateAxis 和光标工具提示中显示的图表和时间都是错误的,尤其是在夏令时更改时(例如 2018 年 10 月 28 日)。

https://i.stack.imgur.com/yxddi.png

请注意,我的时区是布鲁塞尔,因此对您来说可能会有所不同。

我已经做了一个codepen来显示问题:https://codepen.io/Benjamin-Mampaey/pen/NoPLyd

var data = [
    {'date': '2018-10-28T00:00:00Z', 'value': 0},
    {'date': '2018-10-28T00:30:00Z', 'value': 0.5},
    {'date': '2018-10-28T01:00:00Z', 'value': 1},
    {'date': '2018-10-28T01:30:00Z', 'value': 1.5},
    {'date': '2018-10-28T02:00:00Z', 'value': 2},
    {'date': '2018-10-28T02:30:00Z', 'value': 2.5},
    {'date': '2018-10-28T03:00:00Z', 'value': 3},
    {'date': '2018-10-28T03:30:00Z', 'value': 3.5},
    {'date': '2018-10-28T04:00:00Z', 'value': 4},
    {'date': '2018-10-28T04:30:00Z', 'value': 4.5},
];

var config = {
    "type": "XYChart",
    "data": data,
    "xAxes": [{
        "type": "DateAxis",
        "tooltipDateFormat": "i",
        "dateFormats": {
            "minute": "HH:mm:ss Z",
            "hour": "HH:mm:ss Z",
        },
        "periodChangeDateFormats": {
            "minute": "i",
            "hour": "i",
        },
        "renderer": {
            "labels": {
                "rotation": 90,
                "verticalCenter": "middle",
                "horizontalCenter": "left"
            }
        },
    }],
    "yAxes": [{
        "type": "ValueAxis",
        "renderer": {
            "minGridDistance": 10
        },
    }],
    "series": [{
        "type": "LineSeries",
        "dataFields": {
            "dateX": "date",
            "valueY": "value"
        },
        "bullets":[{
            "type": "CircleBullet",
        }],
        "tooltipText": "{dateX.formatDate('i')}\n{dateX.formatDate('HH:mm:ss Z')}",
    }],
    "dateFormatter": {
        "inputDateFormat": "i",
    },
    "cursor": {
    },
};

var chart = am4core.createFromConfig(config, "chartdiv");

我看到的问题是:

  • 图表在夏令时出现奇怪的曲折。我希望该图是一条直线。
  • 格式为“HH:mm:ss Z”的 DateAxis 标签不是 UTC 格式
  • 系列工具提示文本的同上

在 AmCharts 3 中,只需要设置 AmCharts.useUTC = true 即可,但在 AmCharts 4 中,我不明白如何做同样的事情。我尝试在 dateFormatter 上设置“utc: true”,但它并没有改变任何东西。

【问题讨论】:

    标签: javascript amcharts


    【解决方案1】:

    在 amcharts4 上执行此操作的文档在这里: https://www.amcharts.com/docs/v4/reference/dateformatter/#utc_property

    dateformatter 上有一个叫做 utc 的属性

    【讨论】:

      【解决方案2】:

      我已经在github上发布了问题,他们正在研究它。

      https://github.com/amcharts/amcharts4/issues/908

      https://github.com/amcharts/amcharts4/issues/903

      【讨论】:

        猜你喜欢
        • 2020-10-17
        • 1970-01-01
        • 2021-12-07
        • 2015-06-02
        • 2022-06-16
        • 2016-08-15
        • 1970-01-01
        • 2012-01-06
        • 1970-01-01
        相关资源
        最近更新 更多