chart.js - 显示控制时间刻度时区

Che*_*rot 4 timezone momentjs chart.js

我想将一个图表配置为具有不同的时区(例如,我在 utc+00 中并希望以 utc+01 显示数据)

有办法吗?根据文档,我必须返回一个 moment 对象,然后根据 moment 全局语言环境显示日期。

Ala*_*n S 5

在时间配置选项中指定parser为函数:

                scales: {
                    xAxes: [{
                        type: 'time',
                        time: {
                            unit: 'hour',
                            min: minDate,
                            max: maxDate,
                            displayFormats: {
                                hour: 'HH'
                            },
                            parser: function (utcMoment) {
                                return utcMoment.utcOffset('+0100');
                            }                
                        }
                    }]
Run Code Online (Sandbox Code Playgroud)

除了转换图表值,这也适用于 x 轴的最小值/最大值。

这假设您的最小值/最大值和标签数组填充有矩对象。如果处理日期对象,则该函数需要先将日期转换为片刻。

parser: function(date) {
    return moment(date).utcOffset('+0100');
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这正是我需要的!但是,出于某种原因,在我的环境中,函数 utcOffset() 不存在于 `utcMoment` 参数中。我的解决方法是做`return moment(utcMoment).utcOffset('+0100');` (2认同)