日期查询,包含两个日期时间列之间的当前日期

时间:2014-09-27 02:58:26

标签: date google-maps-api-3 google-fusion-tables

我有一个包含两个date_time列的融合表。第一个是开始日期(Startdatum),另一个列是结束日期(Einddatum)。

我想用当前日期进行查询,并且只显示当前日期位于开始日期和结束日期之间的地图上的KML行。

我尝试使用下面的代码创建一个日期格式的字符串:

var time_date = new Date();
var day = time_date.getDate(); 
var month = time_date.getMonth()+1;
var year = time_date.getFullYear();
var date = (year+"."+month+"."+day);

要在地图上显示KML行,我尝试使用以下代码:

 layer = new google.maps.FusionTablesLayer({
  map: map,
  heatmap: { enabled: false },
  query: {
    select: "col2",
    from: "1mOMP1seJq4FdiNTugsfylZaJc8sKcSlfJKUuTJjv",
    where: "'Startdatum' <= date AND 'Einddatum' >= date"

  },
  options: {
    styleId: 2,
    templateId: 2
  }
});

不幸的是,地图显示了所有KMS线,无论其中一列中的日期是什么。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

  1. where - 子句是错误的,必须是

    where: "Startdatum <= '"+date+"' AND Einddatum >= '"+date+"'"
    
  2. date - 格式似乎错了。虽然在文档中定义了使用的格式yyyy.MM.dd,但它不起作用。格式yyyy-MM-dd目前适用于我(但未在文档中定义)。

    var date = (year+"-"+month+"-"+day); 
    

    (如果日期和月份小于10,则不符合模式,但这似乎不是问题)

  3. 除此之外:当你修复这两个提到的部件时,它目前适用(对我而言),但我已经在几个小时前尝试了它并且得到了不稳定的结果。