我正在使用 highcharts 来图形化地展示统计数据。 据我了解,highcharts使用UTC时间来解析日期时间。在我的例子中,日期时间和值都来自锯齿状数组。当我只使用值时,它很好,当日期时间值进入案例时,highcharts不会解析日期时间。
我准备了一个例子here
这里的日期时间来自字符串,所以我必须格式化(dd.MM.yyyy hh:mm:ss)
为此,我使用 moment.js解析我的日期时间值。但仍然没有结果。
为什么 highcharts 无法正确呈现日期? 这里有什么问题?
谢谢
最佳答案
原始代码摘录
var date = moment(graphData.items[i].Date, "dd.MM.yyyy hh:mm:ss");
xdata.push([date._d, graphData.items[i].Value]);
存在格式问题。您应该使用 "DD.MM.YYYY hh:mm:ss"
,而不是 "dd.MM.yyyy hh:mm:ss"
,如 <强>documentation 。
我还将对私有(private)成员 _d
的调用替换为 .native()
调用。
最后但并非最不重要的一点是,HighCharts 不提供自 Epoch 以来的毫秒数。这可以通过调用 getTime()
来实现。
固定代码
var date = moment(graphData.items[i].Date, "DD.MM.YYYY hh:mm:ss").native();
xdata.push([date.getTime(), graphData.items[i].Value]);
您的代码的工作修补版本已可用 here 。
关于javascript - Highcharts 日期解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8985150/