通过Fusion Tables V2 API查询并按日期过滤的日期格式问题
解决Fusion Tables V2 API日期过滤格式问题
我帮你搞定这个日期过滤的坑!Fusion Tables V2 API对WHERE子句中的日期格式有明确要求,你当前用的MM/DD/YYYY(比如01/01/2018)格式并不被API识别,必须换成ISO 8601标准格式才能正常工作。
正确的日期格式选项
- 纯日期格式:
YYYY-MM-DD(例如2018-01-01) - 带时间的完整格式:
YYYY-MM-DDTHH:MM:SSZ(其中Z代表UTC时间,例如2018-01-01T00:00:00Z)
修改后的代码示例
把你的查询语句中的日期替换成ISO格式即可,调整后的代码如下:
var query = "SELECT 'amount', 'closedate' FROM ************ " + "WHERE 'closedate' >= '2018-01-01' "; var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token; var dataSourceUrl = 'https://www.googleapis.com/fusiontables/v2/query?sql=' + encodeURIComponent(query);
额外注意事项
- 确保日期字符串始终用单引号包裹,和你原代码的写法保持一致
- 如果你的
closedate字段存储了时间信息,使用带时间的格式可以更精确地过滤(比如从当天零点开始的数据) - 检查Fusion Tables中
closedate字段的类型必须是日期/时间,如果是文本类型,即使格式正确也无法正常过滤
内容的提问来源于stack exchange,提问作者Manuel
相关产品推荐
相关产品推荐

