私は日付ピッカーを使用しています。日、月、年がありますが、時間(秒、分、時)はありません。私はすでにGoogleスプレッドシートにレコードを挿入しています。しかし、私はレコードを検索し、特に日付レコードでレコードを取得するときに問題が発生します。Googleスプレッドシートから日付レコードを取得する
たとえば、Googleスプレッドシートの日付が3/25/2017の場合です。レコードを検索すると、日付の値は2017-03-24T15:00:00.000Zとして返され、日が1日減少します。
この問題を解決するにはどうすればよいですか?
助けてください。
コード
Htmlの
<div id="Searchrecord">
<h2>Search </h2>
<form id="fsrecord">
<input type="text" name="sinvoice" id="sinvoice" placeholder="by invoice number"/> <br/>
<input type="text" name="surname" id="surname" placeholder="by your name"/> <br/>
<input type="text" name="scustomername" id="scustomername" placeholder="by customer name"/> <br/>
<input type="text" name="spayementdate" id="spayementdate" placeholder="by payment date"> <br>
<input type="submit" value="search" />
</form>
</div>
<div id="searchresult">
</div>
<script>
$(document).ready(function() {
$("#spayementdate").datepicker();
$("#fsrecord").submit(function() {
google.script.run.withSuccessHandler(function(retsearch){
var response = JSON.parse(retsearch);
var newHTML=[];
newHTML.push('<table>' + '<tr>' +'<td>'+"Invoice"+'</td>'+
'<td>'+"Your Name"+'</td>'+
'<td>'+"Customer Name" +'</td>'+
'<td>'+"Email" + '</td>'+
'<td>'+"Project Name" + '</td>'+
'<td>'+"Amount of Money" + '</td>'+
'<td>'+"Payment Date" +'</td>'+
'<td>'+"Date Create" +'</td>'+
'<td>'+"Branch" +'</td>'+
'<td>'+ "File url" +'</td>'
+ '<tr>');
for(var i =0 ; i< response.length ; i++){
newHTML.push('<tr>' + '<td>'+ response[i].invoice + '</td>'
+ '<td>'+ response[i].yourname + '</td>'
+ '<td>'+ response[i].customername + '</td>'
+ '<td>'+ response[i].email + '</td>'
+ '<td>'+ response[i].projectname + '</td>'
+ '<td>'+ response[i].amountofmoney + '</td>'
+ '<td>'+ response[i].paymentday + '</td>'
+ '<td>'+ response[i].datecreate + '</td>'
+ '<td>'+ response[i].branch + '</td>'
+ '<td>'+ '<a href="' + response[i].file + '" target="_blank" >file!</a>' + '</td>'
+'</tr>');
}
newHTML.push('</table>');
$("#results").hide();
$("#searchresult").html(newHTML.join(""));
}).processSearch(this);
});
});
</script>
Code.cs
function getData() {
var ss=SpreadsheetApp.openById('1PWJyASHmjJ_W8-72u8bbrGbN-Nv6kdkCvjdmYuNNlEY');
var sheet=ss.getSheetByName('invoice1');
return sheet;
}
function processSearch(searchform){
var sheet = getData();
var data = ObjApp.rangeToObjects(sheet.getDataRange().getValues());
var searchinvoice=searchform.sinvoice;
var searchfname=searchform.surname;
var searchcname=searchform.scustomername;
var searchpayementdate=searchform.spayementdate;
var results = [];
var events;
for(var i=0 ; i < data.length ; i++) {
if(searchinvoice == data[i].invoice) {
events ={invoice:data[i].invoice,yourname:data[i].yourname, customername:data[i].customername,email:data[i].email,projectname:data[i].projectname,amountofmoney:data[i].amountofmoney,paymentday:data[i].paymentday,datecreate:data[i].datecreate,branch:data[i].branch,file:data[i].file };
results.push(events);
return JSON.stringify(results);
}
}
//Logger.log(results);
return JSON.stringify(results);
}
[This(http://stackoverflow.com/questions/948532/how-do-you-convert-a-javascript-date-to-utc)または類似のQ/Asがお手伝いします。 –
スクリプトとスプレッドシートが異なるタイムゾーンにある可能性があります。 –