设置触发器以在每月的最后一个小时运行函数

bko*_*nig 2 javascript google-apps-script

在谷歌脚本中,我知道有按日期运行的触发器,但我认为这不会起作用,因为每月的天数不同。所以我想知道是否有办法设置触发器在每月最后一个晚上 11 点运行,无论是 30 还是 31。

谢谢

iJa*_*Jay 5

首先从项目编辑 > 当前项目的触发器创建一个触发器,或者以编程方式注册它,该触发器将在每天晚上 11 点运行。

ScriptApp.newTrigger("myTriggerFunction")
   .timeBased()
   .atHour(23)
   .everyDays(1) 
   .create();
Run Code Online (Sandbox Code Playgroud)

然后在触发器处理程序中,检查今天是否是该月的最后一天,然后开始工作。

function myTriggrFunction()
{
  var today = new Date();
  var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0);

  if(today.getDate() == lastDayOfMonth.getDate() )
  {
    // your work to be done
  }
}
Run Code Online (Sandbox Code Playgroud)