Javascript 新日期()对象关闭4小时
我将以下代码设置为从html表单获取数据到google电子表格:Javascript 新日期()对象关闭4小时,javascript,Javascript,我将以下代码设置为从html表单获取数据到google电子表格: /** * 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 = 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;
}
}
但现在它只返回年、月、日,而不返回小时、分钟和秒
编辑2
工作解决方案:
var d = new Date();d.setHours(d.getHours() - 4 );
var row = [ d ];
你把时区考虑进去了吗?(您所在的时区?@OliverCharlesworth GMT+4:00显然:P
new Date()
根据用户的时区和区域设置返回不同的字符串表示形式。你肯定不想硬编码一个特定的偏移量,因为这对那些与你不在同一时区的人来说是错误的(以后你会进入夏令时,这对你来说也是错误的。)这不会是一个问题,从表单返回到电子表格的数据只意味着GMT+4:00。其他用户无法访问此功能。请不要浪费时间。只需使用.toutString()
而不是.toString()
进行序列化。
var d = new Date();d.setHours(d.getHours() - 4 );
var row = [ d ];