如何根据用户区域设置格式化Dygraphs图例中的日期和时间

我有一个图表,显示设备的功率输出随着时间的推移,我想格式化图例,以便它显示当前用户所在风格的时间戳(例如,在美国,它将显示MM/DD/YY h:m:s am/pm ,在EU中将显示DD/MM/YYYY HH:MM:SS等)。

目前,它默认设置如下:

在此处输入图像描述

我为x轴传递了一个JS Date()对象,我发现你可以修改x轴标签 ,但是当我将鼠标hover在图形上时,我找不到有关更改图例格式的任何信息。

您已经发现了axisLabelFormatter选项,它允许您控制x轴上标签的格式。

要控制图例中标签的格式,您需要使用valueFormatter

 g = new Dygraph(div, data, axes: { x: { axisLabelFormatter: function (d, gran) { return d.toLocaleDateString(); }, valueFormatter: function (ms) { return new Date(ms).toLocaleDateString(); } } } }); 

看到这个小提琴是一个完整的例子。 奇怪的是,一个格式化程序函数需要一个日期而另一个格式化程序函数需要毫位时间吗? 是。 不幸的是,这是一个我们坚持的不一致。