You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chart.js X轴日期格式配置问题:如何仅显示月日而非时间与时区

Chart.js X轴日期格式配置问题:如何仅显示月日而非时间与时区

我遇到了一个Chart.js的X轴日期格式问题:X轴现在显示的是完整的时间和时区,但我只想展示月份和日期。

我写的代码如下:

function dateSeries(startDate, endDate) {
    let dates = [];
    let currentDate = new Date(startDate);
    while (currentDate <= endDate) {
        dates.push(new Date(currentDate));
        currentDate.setDate(currentDate.getDate() + 1);
    }
    return dates;
};

let ctx = document.getElementById('myChart');

let goal = [5,4,3,2,1,0];
let dates = dateSeries(new Date('2024-12-03'), new Date('2024-12-08'));

let myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: dates,
        datasets: [
            {
                label: 'Goal',
                data: goal,
                borderColor: 'rgba(142, 180, 227, 1)',
            }
        ]
    },
    options: {
        scales: {
            x: {
                type: 'time',
                time: {
                    unit: 'day',
                    displayFormats: {
                        day: 'MMM DD'
                    }
                }
            }
        }
    }
});

目前渲染出来的效果是这样的:
Chart.js显示冗余X轴的效果

我感觉自己写的options配置和找到的所有示例都一致,但就是没法让X轴格式正确显示。


更新:关于适配器的尝试

我之前没有配置任何日期适配器,原以为Chart.js有默认的适配器,不需要额外引入,除非有特殊需求。不过现在我也可以尝试引入适配。

我把日期格式改成了day: 'MMM dd',代码看起来和@kikon的示例完全一样(那个示例明明可以正常工作),但我的图表还是没变化:
仍显示冗余X轴的Chart.js效果

除了日期格式的修改,我的Script.js和上面的代码完全一致。

备注:内容来源于stack exchange,提问作者Dick Kusleika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 16:58:04