首页 > 解决方案 > 如何使用时间来确定函数是否应该运行?

问题描述

我想在工作日的 8 点、11 点、1 点和 3 点运行谷歌脚本。我正在使用基于时间的触发器来运行函数 checkTime(),每小时检查时间并在当天和时间运行。

Google Scripts 中的时间触发器是有限的,我想使用它,所以我不必创建(5 天 x 4 个不同的时间 = 20 个触发器)。让它针对一个函数运行似乎是一个更简单的解决方案,但我就是想不通。这是我想出的伪代码。谁能指出我正确的方向或举个例子?


  var d = new Date();

  if(dayOfWeek == 'Monday' || ... || dayOfWeek == 'Friday') &&
    d == '8:00' || d == '11:00' || d == '13:00' || d == '15:00'){
    myFunction();
  }

}

预期结果在 M、T、W、R 或 F 的 8、11、13 和 15 处,条件应评估为 True 并且函数运行。所有其他时间应评估为 False。

标签: javascriptdatetimegoogle-apps-script

解决方案


var d = new Date(); // Date time now

const isWeekday = d.getDay() < 6; // Saturday
const isCorrectTime = [8, 11, 13, 15].includes(d.getHours()); // For correct hours

推荐阅读