Javascript 如果条件在Google脚本中不起作用,则嵌套
我不熟悉脚本编写。我编写了一个函数,用于检查当前时间与之前电子表格中记录的时间之间的差异。如果差异超过4小时,则需要向相关人员发送邮件 当我尝试执行这段代码时,它只成功运行第一个if条件,并在那里结束。第二个嵌套if语句根本不执行。我们将非常感谢您对本规范的所有帮助和必要修改Javascript 如果条件在Google脚本中不起作用,则嵌套,javascript,if-statement,scripting,nested,difference,Javascript,If Statement,Scripting,Nested,Difference,我不熟悉脚本编写。我编写了一个函数,用于检查当前时间与之前电子表格中记录的时间之间的差异。如果差异超过4小时,则需要向相关人员发送邮件 当我尝试执行这段代码时,它只成功运行第一个if条件,并在那里结束。第二个嵌套if语句根本不执行。我们将非常感谢您对本规范的所有帮助和必要修改 function warningemail() { var check_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Request Fo
function warningemail() {
var check_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Request Form Responses");
var findColJ = check_sheet.getRange('J:J').getValues();
var findColL = check_sheet.getRange('L:L').getValues();
var findColE = check_sheet.getRange('E:E').getValues();
var findColI = check_sheet.getRange('I:I').getValues();
for (var y = 0, lengths = findColJ.length; y < lengths; y++) {
if (findColJ[y][0] == "In Progress") {
var dt1 = new Date();
var time1 = new Date(dt1.getTime());
var prTime = Utilities.formatDate(time1, "GMT+0530", "MM/dd/yyyy HH:mm:ss");
var dt2 = new Date(findColL[y][0]);
var time2 = new Date(dt2.getTime());
var etaTime = Utilities.formatDate(time2, "GMT+0530", "MM/dd/yyyy HH:mm:ss");
Logger.log(prTime); //05/13/2017 12:44:09
Logger.log(etaTime); //05/13/2017 02:26:00
if (prTime-etaTime > 3600000*4) { // Need to check the diff between current time and prTime
var subject = "Peer Review Request Unattended| PCID: " + findColE[y][0];
var body = "";
var htmlmail = "<p>Hi,</p>";
htmlmail += "<p>*******************This is a system generated email. Do not reply to this mail.*******************</p>";
GmailApp.sendEmail(findColI, subject,body,{ htmlBody:htmlmail });
}
}
}
}
函数警告电子邮件(){
var check_sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“请求表单响应”);
var findColJ=check_sheet.getRange('J:J').getValues();
var findColL=check_sheet.getRange('L:L').getValues();
var findColE=check_sheet.getRange('E:E').getValues();
var findColI=check_sheet.getRange('I:I').getValues();
对于(变量y=0,长度=findColJ.length;y3600000*4){//需要检查当前时间和prTime之间的差异
var subject=“同行评审请求无人参与| PCID:+findColE[y][0];
var body=“”;
var htmlmail=“Hi,”;
htmlmail+=“**********************这是系统生成的电子邮件。不要回复此邮件。**********************”;
sendmail(findColI,subject,body,{htmlBody:htmlmail});
}
}
}
}
如果您是脚本新手,首先应该知道Javascript与Java是不同的语言。就像奥地利不同于澳大利亚一样。Utilities.formatDate
返回什么类型的数据?可能prTime
和etaTime
变量是字符串,如果s条件从不为true
,则第二个。