Highchart日期不适用于某些数据系列

问题描述 投票:0回答:1

我在用HighCharts(StockChart)创建的图表中遇到了问题,更确切地说,是在1970年默认设置的不适用于某些数据系列的日期。我从ajax请求中获取数据,并使用Highchart格式创建数据系列,如下所示:

data.forEach(element => {
    var d = new Date(Date.parse(element[0]));
    console.log("d : " + d);
    timestampData.push([d, element[1]]);
});
console.log(timestampData);
timestampData = timestampData.sort((a, b) => a[0] - b[0]);

chart.series[0].setData(timestampData, true);

这是两种情况的结果,日期格式完全相同,但日期适用于一个系列,但不适用于另一个系列

Here the date works

Here the date is to 1970 but when can see the date result in console is to 2019

这很奇怪,因为两个系列没有做任何不同的事情,并且转换为Date格式对于两个系列都很好

javascript highcharts
1个回答
2
投票
关于记录的日期,很难在不知道元素迭代器的值的情况下进行调试,但是Date.parse()可能会产生不明确的结果,具体取决于其参数的格式。

[通常,我的建议是使用js毫秒时间戳,而不是像这样的Date对象:

data.forEach(element => { var d = new Date(Date.parse(element[0])); timestampData.push([d.valueOf(), element[1]]); });

它更通用,高级图表对此也很好。 
© www.soinside.com 2019 - 2024. All rights reserved.