▽1
●
Cherenkov ●200ポイント ベストアンサー |
Query Languageで日付の作り方がわからなかったのでJSで日付を作ってます。
→dateDiff()を使えば解決した。ソースのコメント参照。
30日前で検索。
<html> <head> <meta charset="utf-8"> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1"); </script> <script> //Google Spreadsheets を簡易 SQL DB に!「Google Visualization API」 - WebOS Goodies //http://webos-goodies.jp/archives/51310352.html function handleResponse(response) { var data = response.getDataTable(); var csv = []; for (var row = 0; row < data.getNumberOfRows(); row++) { var line = []; for (var col = 0; col < data.getNumberOfColumns(); col++) line.push(data.getFormattedValue(row, col)); csv.push(line.join(",")); } alert(csv.join("\n")); } /* //getNdate(2)で2日後。getNdate(-5)で5日前 //return ex "2012-5-18" function getNdate(n) { var d = new Date(new Date().getTime() + (86400000 * n)); var nd = [d.getFullYear(), d.getMonth()+1, d.getDate()].join('-'); return nd; } */ var url = 'GoogleスプレッドシートURL'; var query = new google.visualization.Query(url); //D列の値が現在日時から30日前ならば、その行を取得。GMTなので注意。 query.setQuery('where dateDiff(D, now()) = -30'); //過去に提案したもの //query.setQuery('where D = date "' + getNdate(-30) + '"'); query.send(handleResponse); </script> </head> <body> </body> </html>
参考