【问题标题】:Date query with the current date between two date_time columns日期查询与两个日期时间列之间的当前日期
【发布时间】:2014-11-22 03:09:28
【问题描述】:

我有一个包含两个 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 线路,无论其中一列中的日期是什么。

我做错了什么?

【问题讨论】:

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


    【解决方案1】:
    1. where-clause 是错误的,它必须是

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

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

      (如果日期和月份小于 10,它们将不匹配模式,但这似乎不是问题)

    除此之外:当你修复这两个提到的部分时,它目前可以工作(对我来说),但我在几个小时前尝试过,结果不稳定。

    【讨论】:

    • 非常有帮助,谢谢。我现在可以完美地工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 2019-08-05
    • 2018-07-25
    • 2018-04-30
    • 2019-09-26
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多