【问题标题】:Google Charts: Date Error谷歌图表:日期错误
【发布时间】:2014-08-06 04:51:08
【问题描述】:

我正在使用 Google Visualization API 来生成注释图表。 我从我的数据库中获取文章及其日期。日期采用字符串格式“YYYYMMDD”。

在为图表创建数据表时,我使用以下代码添加日期。

dataTable.addColumn('date', 'ArticleDate');
dataTable.addColumn('string', 'ArticleInfo');
        for(i=0;i<searchResultsJSON.length;i++){
            var yearValue = parseInt(searchResultsJSON[i].date.substr(0,4));
            var monthValue = parseInt(searchResultsJSON[i].date.substr(4,6)) - 1;
            var dayValue = parseInt(searchResultsJSON[i].date.substr(6,8));
            dataTable.addRow([Date(yearValue,monthValue,dayValue),'<a class=\"tooltipLink\" onclick=\"getDoc(\''+searchResultsJSON[i].path+'\');return false;\">'+searchResultsJSON[i].title+'</a><br/\><br/\>']);
        }

现在,我想知道每天的文章数,所以我对数据表运行聚合查询。

var result = google.visualization.data.group(dataTable,[0],[{'column': 0, 'aggregation': google.visualization.data.count, 'type': 'date'}]);

但是,我在这一点上遇到了日期格式错误。

Error: Type mismatch. Value Mon Jun 16 2014 13:08:20 GMT+0200 (W. Europe Daylight Time) does not match type date in column index 0
at Error (native)

这已经花费了上午的大部分时间,并且确实阻碍了进展。任何帮助都会很棒。

谢谢!

【问题讨论】:

  • substr(0,5) 不会给你 YYYYM 吗?
  • 抱歉,我发布了我正在处理的代码的早期版本。我现在使用的那个有正确的子字符串索引,但问题仍然存在。
  • Date(yearValue, monthValue, dayValue) 返回什么值?如果您尝试解析('08') - 请阅读stackoverflow.com/questions/17681843/…

标签: javascript json google-visualization


【解决方案1】:

您在 Date 构造函数前面缺少 new 关键字:

dataTable.addRow([new Date(yearValue,monthValue,dayValue),'<a class=\"tooltipLink\" onclick=\"getDoc(\''+searchResultsJSON[i].path+'\');return false;\">'+searchResultsJSON[i].title+'</a><br/\><br/\>']);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 2021-08-08
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多