在x轴折线图上绘制错误日期的高位图表(高位股票)

Highcharts (highstock) plotting incorrect date on x-axis line chart

本文关键字:位图 高位股 高位图 折线图 绘制 日期 错误      更新时间:2023-09-26

这里有一个我生成的高股价图的例子:http://jsfiddle.net/9gTN8/

有3个数据点的日期使用Date.UTC方法定义。尽管该系列中的最后一个日期是2013-07-15,但该点绘制于8月。同样,其他点似乎比它们应该在的地方提前一个月绘制

我使用了ordinal: false来允许不规则的日期间隔,这是highstock的一个特点。

发生这种情况的原因是什么?我该如何解决?

编辑:

我在每个数据点中的日期都是从php生成的,比如:

echo "'n[Date.UTC(" . date("Y, m, d", strtotime($date)) . "), " . $value . "]";

我知道我可以有几个phpdate()函数来减少我自己的月份,但我希望有一种更有效的方法。例如,是否可以在php中复制javascript Date.UTC方法,并直接输出大数字(自1970年1月1日以来的毫秒数)?

解决方案是不使用Date.UTC,只使用php的日期格式,如下所示:

echo "'n[" . 1000 * date("U", strtotime($date)) . ", " . $value . "]";

这将以秒为单位输出手册中定义的历元时间戳。乘以1000以获得javaScript所需的毫秒数。