带有谷歌日历日期的 Json 字符串

Json string with date to Google calendar

本文关键字:Json 字符串 日期 日历 谷歌      更新时间:2023-09-26

最近我一直在使用谷歌图表可视化信息。我一直在从包含 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)

你能试试这个吗?

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