1

我需要根据用户的选择更改 X 轴刻度标签MM/dd/yyyy HH:mm:ss的日期时间格式。 我怎样才能使用javascript实现这一点?MM/dd/yyyy

4

3 回答 3

5

得到了解决方案,只需使用以下代码(ASP.NET)使 tickInterval 动态

tickInterval : <%=IsHourly?1:24 %> * 3600 * 1000,

使用相同的逻辑来更改工具提示。

于 2012-06-13T08:42:40.680 回答
2
xAxis : {
            type : 'datetime',
            gridLineWidth : 1,
            gridLineColor : '#F2F2F2',
            lineColor : '#FF0000',
            tickInterval : 3600 * 1000,
            dateTimeLabelFormats : {
                second : '%H:%M',
                minute : '%H:%M',
                hour : '%H:%M',
                day : '%e',
                week : '%e',
                month : '%e',
                year : '%e'
            }
        },

请参阅dateTimeLabelFormats选项,您可以使用它来更改您的 x 轴刻度标签。

如果您需要更清楚,请告诉我。!

编辑 :

更多 API 参考可以Highcharts 的网站上找到。

演示

编辑2:好的,如果您需要动态更改它首先保存您需要的格式,String基于任何计算。
诸如此类的东西var labelFormat = '%H:%M'
然后在您渲染图表时,将dateTimeLabelFormats其与其他必需选项一起放入以下内容。

dateTimeLabelFormats : { labelFormat }

然后调用redraw()方法,就完成了。

请注意:我没有测试过这段代码。

于 2012-06-13T08:18:48.067 回答
0

我知道我为时已晚,但是如果您正在寻找纯 JavaScript 实现,这可能会起作用:

tooltip:{formatter:function(){
            const selectedFormat = document.getElementById("dateFormat").value;
            const finalDate = Highcharts.dateFormat(selectedFormat, this.x);
            return finalDate;
        }
}

http://jsfiddle.net/527moaLs/

我想你可以自己找到解决方案的其余部分

于 2017-11-17T16:24:15.753 回答