I have this code set to get data from an html form onto a google spreadsheet:
/**
* record_data inserts the data received from the html form submission
* e is the data received from the POST
*/
function record_data(e) {
Logger.log(JSON.stringify(e));
try {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName('responses');
var headers = sheet.getRange(1, 1, 1,
sheet.getLastColumn()).getValues()[0];
var nextRow = sheet.getLastRow()+1;
var row = [ new Date() ];
for (var i = 1; i < headers.length; i++) {
if(headers[i].length > 0) {
row.push(e.parameter[headers[i]]);
}
}
sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);
}
catch(error) {
Logger.log(e);
}
finally {
return;
}
}
new Date () object returns the date properly but time is 4 hours off.
I would like to know how can i set the new Date () object to -4 hours.
Thanks.
EDIT
I added the next variable:
var date = new Date();date.setHours(date.getHours() - 4);
var row = [ date ];
But now it only returns year month and day, no hours minutes and seconds.
EDIT 2
Working solution:
var d = new Date();d.setHours(d.getHours() - 4 );
var row = [ d ];