大家好,我正在尝试将React-stockchart实施到我的项目中,但是我遇到了一个问题,因为我需要传递给图表的数据几天以来我一直面临这个问题。
React-stockchart接受此格式的数据
Data=[
0:{
open:25.436282332605284 ,
high:25.835021381744056 ,
low: 25.411360259406774,
date:Date 2010-01-03T23:00:00.000Z,
volume:38409100},
1:{....}
2:{....}
]
使用此功能,我能够将我的输入数据从此格式My data转换为此格式
我用来将数据转换为React-Stockchart接受的类似格式的函数:
convertData(data) {
var keys = ["date","open","close","hight","low","volume"],
i = 0, k = 0,
obj = null,
output = [];
for (i = 0; i < data.length; i++) {
obj = {};
for (k = 0; k < keys.length; k++) {
obj[keys[k]] = data[i][k];
}
output.push(obj);
}
return output;
}
使用此函数后,我得到了这种格式的结果,但是日期是在unix时间戳中,我正在寻找一种方法来实现我的函数,使日期变成类似于React-stockchart接受的格式的格式
Data=[
0:{
open:10608 ,
high:10617 ,
low: 10613.07326842,
date:1519288380000,
volume:25.33908407},
1:{....}
2:{....}
]
答案 0 :(得分:1)
您可以使用时间戳创建一个新的Date对象:
var dateObj = new Date(timestamp);
所以在你的情况下:
convertData(data) {
var keys = ["date","open","close","hight","low","volume"],
i = 0, k = 0,
obj = null,
output = [];
for (i = 0; i < data.length; i++) {
obj = {};
obj[keys[0]] = new Date(data[i][0]);
for (k = 1; k < keys.length; k++) {
obj[keys[k]] = data[i][k];
}
output.push(obj);
}
return output;
}