Javascript 我得到了一个计算时差的谷歌脚本的异常行为

Javascript 我得到了一个计算时差的谷歌脚本的异常行为,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,以下是我的电子表格: 这是我的电子表格脚本: 函数onFormSubmit(e){ //检索时间表表以进行读写 var电子表格=SpreadsheetApp.openById('15u8dQipekIIA6B4IHXRE3Geogrhy25QV06JHAJ43_QA'); var Timesheet_Table=SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName('Timesheet Table'); //从当前表单提交中提取响应

以下是我的电子表格:

这是我的电子表格脚本:

函数onFormSubmit(e){
//检索时间表表以进行读写
var电子表格=SpreadsheetApp.openById('15u8dQipekIIA6B4IHXRE3Geogrhy25QV06JHAJ43_QA');
var Timesheet_Table=SpreadsheetApp.setActiveSheet(spreadsheet.getSheetByName('Timesheet Table');
//从当前表单提交中提取响应数据集
var timeStamp=e.values[0];
var formID=e.值[1];
var inOutChoiceResponse=e.values[2];
var tsParse=timeStamp.split(“”);
var tsDate=tsParse[0];
var tsTime=tsParse[1];
var lastRow=Timesheet_Table.getLastRow();
如果(inOutChoiceResponse==“签入”){
时间表\u Table.getRange(lastRow,1).setValue(ID);
Timesheet_Table.getRange(lastRow,2).setValue(timeStamp);
Timesheet_Table.getRange(lastRow,3.clearContent();
}否则如果(inOutChoiceResponse==“签出”){
时间表\u Table.deleteRow(lastRow);
var dataRange=Timesheet_Table.getDataRange();
var dataSet=dataRange.getValues();
对于(var i=1;i};问题一定出在这里:

Timesheet_Table.getRange(rowToEdit, 3).setValue(timeStamp);
var diff = ((dataSet[i][2] - dataSet[i][1]) / (60 * 1000)) / 60;
工作表中的值更新后,数组数据集仍然包含更新前的值。在这种情况下,数据集[i][2]包含一个空值。您必须再次调用工作表,或者在计算中使用时间戳中存储的值