Javascript C3.js时间刻度格式问题

Javascript C3.js时间刻度格式问题,javascript,c3.js,Javascript,C3.js,我尝试运行以下代码以小时、分钟和秒显示日期。这对我来说很好,但有一个问题。如果时间超过24小时,则第二天显示。我想告诉你确切的时间。 y轴数据(如[4005962699])转换为秒-虚拟值 chartDefault = c3.generate({ bindto : '#divlineChart', data : { x : 'x', columns : [ barChartTasks, barChar

我尝试运行以下代码以小时、分钟和秒显示日期。这对我来说很好,但有一个问题。如果时间超过24小时,则第二天显示。我想告诉你确切的时间。 y轴数据(如[4005962699])转换为秒-虚拟值

chartDefault = c3.generate({
    bindto : '#divlineChart',
    data : {
        x : 'x',
        columns : [
            barChartTasks,
            barChartCounts
        ],
        keys : {
            value : barChartTasks,
        },
    },
    axis : {
        x : {
            type : 'category'
        },
        y : {
            tick : {
                format : function (y) {
                    return d3.time.format("%X")(new Date(new Date('2016-01-01 00:00:00').getTime() + (y * 1000)));
                }
            },
            label : {
                text : 'Hours',
                position : 'outer-center'
            }
        }
    },
    bar : {
        width : {
            ratio : .5
        }
    }
});
输出将类似于


我想显示24:28:59而不是00:28:59。

您需要编写自己的小格式化程序,如下所示:

format: function (y) {
    var twoFormat = d3.format("02d");
    var parts = [
        twoFormat(Math.floor(y / 3600)),
        twoFormat(Math.floor((y % 3600) / 60)),
        twoFormat(Math.floor(y % 60))
    ];
    return parts.join(":");
}
另外,由于你不使用你制作的日期部分,所有的“新日期”的东西都是多余的