ChartJS Unix时间值已更改

时间:2018-06-12 13:33:21

标签: vuejs2 chart.js

我正在将数据从Sybase数据库导入到VueJs2中的ChartJS中。我正在使用vue-chart模块

我使用

将时间戳作为Unix时间推送到数组中
this.firstIn(new Date(tnaDetails[0].Sunday_FirstIn).getTime())

所以: [Sunday_FirstIn:2010-01-17 08:00:00.0]

会转换为

12637.08亿

然后我将其添加到数据集中:

                    datasets: [{
                        type: 'line',
                        label: "First In",
                        backgroundColor: "green",
                        data: this.firstIn,
                        fill: false
                    }
                ]

但是,在图表上绘制数据时,会更改值。上述单位时间戳变为

12637亿

这显然是错误的时间。我没有对选项中的滴答做任何事情。

以下是数字被更改的结果。控制台具有原始数据:

Numbers getting changed when imported in to ChartJS

是否有一个设置可以改变ChartJS中我不知道的数字的精度/值?

感谢。 塞特

1 个答案:

答案 0 :(得分:0)

对于任何在将来遇到类似问题的人,我会找到一些我找到的解决方案。

首先,从这里Unix Timestamp in JavaScript,我写了这个方法:

throttle

这里的重要部分是确保你有同一天。不执行此操作将导致ChartJS图形绘制y轴上不同位置的时间,即使小时数相同。

然后从this StackOverFlow question和相关的plunker,在图表选项中,我有:

            getTimeString: function(dateString) {
            var hours = new Date(dateString).getHours();
            var mins = new Date(dateString).getMinutes();
            return Math.round((new Date("1970-02-01 " + hours + ":" + mins)).getTime());
        }

注意回调。他们将格式化时间,计算从设定时间到您需要绘制时间的差异。在第一个功能中,您可以真正使用任何一天,只要它在同一天,它就不重要了。 stepSize将在yAxis上显示每小时的间隔。