因此,基本上,下面的代码是删除当前触发器,并在满足条件时设置具有相同功能和新日期的新触发器。
但是,当我尝试运行脚本时,出现错误“您的日值无效”。在“ .create”行。
我已经尝试使用logger.log我的“现在”变量,这应该是我的新日期,并且它像这样“我认为是正确的日期”“ Sun Dec 08 08:44:12 GMT + 08:00 2019”弹出。
function setTriggerCycle2() {
var ss = SpreadsheetApp;
var ss2 = ss.getActiveSpreadsheet();
var fR1 = ss2.getSheetByName("Auto9 (LUDY) Carbon Treatment Checklist");
var ranges = fR1.getRange(3, 1, fR1.getLastRow(), 32).getValues();
ranges.forEach(function(row, i) {
var CuTankNo = row[2];
var DateSubmitted = row[0];
var EmailSent = row[9];
var triggerSetted = row[8];
var now = new Date();
now.setHours(now.getHours() + 3984)
if (CuTankNo == "Cu Tank #2 Pos #45 & 48") {
if (triggerSetted == "") {
var triggers = ScriptApp.getProjectTriggers();
for (var i in triggers) {
if (triggers[i].getHandlerFunction() == "sendEmailCuTank2") {
ScriptApp.deleteTrigger(triggers[i]);
}
Logger.log(now);
ScriptApp.newTrigger('sendEmailCuTank2')
.timeBased()
.atDate(now.getYear(), now.getMonth(), now.getDay())
.create();
fR1.getRange(i + 3, 9).setValue("Trigger_Setted");
}
}
}
})
}
最佳答案
在.atDate(now.getYear(), now.getMonth(), now.getDay())
上使用getDay()
代替getDate()
getDay()
返回星期几,0代表星期日,1代表星期一,依此类推。getDate()
返回月中的某天,第一天为1,第二天为2,依此类推。
关于javascript - 我收到一条错误消息,指出“您的日值无效”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56745488/