Google Charts Datatable过滤日期

时间:2019-01-01 20:01:05

标签: javascript google-visualization

我正在尝试查找特定年份的所有行。年份是string的类型,但是单元格是date的类型。

gDataTable:

business_id   date          severity
c02facce08ba  Dec 13, 2018  Critical

到目前为止,这是我的代码:

var yr = 2016,
    tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);

我收到以下错误:

Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1

我知道值类型必须相同,但是我找不到一种只对日期列数据的年份进行过滤的方法。

2 个答案:

答案 0 :(得分:0)

尝试使用minValuemaxValue作为日期列进行过滤:

minD = new Date(yr, 0, 1)
maxD = new Date(yr, 11, 31)
tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]); 

答案 1 :(得分:0)

而不是提供value属性,
您可以使用test函数。

对于应该包含在过滤器中的行,该函数应返回true
然后,只需比较日期的年份值即可。

var yr = 2016;
var tl = gDataTable.getFilteredRows([{
  column: 1,
  test: function (value) {
    return (value.getFullYear() === yr);
  }
}]);