javascript-格式化日期字符串以适合Google日历作为参数
作者:互联网
我有一个字符串,代表类似2014年7月2014年的数据.我正在用javacript格式化该日期,以便可以将其用作Google日历图表的参数.
例如.
var x = "2014-July-12";
var splitted = x.spilt('-');
// to get "2014" at index [0], "July" at index [1] and "12" at index [2].
然后,我使用键值数组来获取月份数.
然后,我在其中填充Google日历数据表.
data.addRow([new Date(ParseInt("splitted[0]"),months.splitted[1], ParseInt("splitted[2]")), dataValues[i].Value]);
我使用ParseInt()从字符串转换为数字,因为新的Date(yyy,mm,dd)只将整数作为参数.
我无法使该日历正常工作.我在网上进行了大量搜索,但找不到如何从json文件填充Google日历日历图表的好示例.
你们可以看一下并指导我如何执行此任务,并解释我错了吗.
提前致谢.
绘制日历图表功能
function drawCalendarChart(jsonObj) {
var dataValues = eval(jsonObj)
var data = new google.visualization.DataTable(dataValues);
data.addColumn({ type: 'date', id: 'Date' });
data.addColumn({ type: 'number', id: 'Reports' });
for (var i = 0; i < dataValues.length; i++) {
var date = new Date(dataValues[i].Date);
var year = date.getFullYear(), month = (date.getMonth() + 1), day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
var Formatted = "" + year + "," + month + "," + day;
// data.addRow([new Date(dataValues[i].Date), dataValues[i].Frequencies]);
data.addRow([new Date(Formatted), dataValues[i].Frequencies]);
}
var options = {
title: "Calendar Chart",
height: 350
};
var chart = new google.visualization.Calendar(document.getElementById('chart'));
chart.draw(data, options);
var table = new google.visualization.Table(document.getElementById('table'));
table.draw(data, { showRowNumber: true });
}
我添加了我用来绘制图表的功能.数据给出了NaN,NaN错误.频率获得正确的值.因此,它必须与日期格式有关.
这是我正在使用的测试字符串.
[
{
"Date": "2014-January-15",
"Frequencies": 11
},
{
"Date": "2014-January-8",
"Frequencies": 22
},
{
"Date": "2014-January-10",
"Frequencies": 11
}
]
解决方法:
保持简单,这应该可以工作:
data.addRow([ new Date(dataValues[i].Date), dataValues[i].Frequencies ]);
UPDATE
它为我工作,在这里您可以使用代码fiddle.
标签:javascript,date,google-calendar-api,google-visualization 来源: https://codeday.me/bug/20191011/1895431.html