带有日期的Json字符串到Google日历

时间:2014-11-23 18:02:18

标签: javascript html json google-visualization google-calendar-api

最近我一直在使用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)

1 个答案:

答案 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);