最近我一直在使用Google Charts可视化信息。我一直在阅读包含json字符串的文本文件。 手动添加列,然后迭代json字符串以填充行。到目前为止,这种方法很好用。但是现在我在读取具有日期类型的json字符串时遇到了问题。
这是我的Test.txt文件,我从中填充数据表。
[
{"Date":"2014-12-13T00:00:00","Frequency":35},
{"Date":"2014-12-14T00:00:00","Frequency":24},
{"Date":"2014-12-15T00:00:00","Frequency":15}
]
如果我手动添加日期,例如
dataTable.addRows(
[ new Date(2012, 3, 13), 37032 ],
[ new Date(2012, 3, 14), 38024 ]
);
它工作正常,因此问题与从字符串中读取日期的格式有关。
这是动态填充行的方式......
for (var i = 0; i < dataValues.length; i++) {
data.addRow([dataValues[i].Date, dataValues[i].Frequency]);
}
如何解决此问题...我们非常感谢代码示例和解释。我想我不知何故需要将格式从此2014-12-14T00:00:00
更改为此new Date(2012, 3, 14)
答案 0 :(得分:1)
你能尝试一下这个吗?
for (var i = 0; i < dataValues.length; i++) {
var splitted = dataValues[i].Date.split(/[- :T]/);
dataTable.addRows([new Date(splitted[0], splitted[1]-1, splitted[2], splitted[3], splitted[4], splitted[5]), dataValues[i].Frequency]);
}
编辑:
作为替代方式
var rowArray = [];
for (var i = 0; i < dataValues.length; i++) {
var splitted = dataValues[i].Date.split(/[- :T]/);
rowArray.push([new Date(splitted[0], splitted[1]-1, splitted[2], splitted[3], splitted[4], splitted[5]), dataValues[i].Frequency]);
}
dataTable.addRows(rowArray);