【问题标题】:Run trigger in partiuclar time interval only仅在特定时间间隔内运行触发器
【发布时间】:2018-01-13 11:22:17
【问题描述】:

我使用这部分代码(以及时间触发器)在“工作时间”每 5 分钟运行一次脚本,但现在我需要一些调整

function officeHours(){
var nowH=new Date().getHours();
var nowD=new Date().getDay();
Logger.log('day : '+nowD+'   Hours : '+nowH)
if(nowH>17||nowH<8||nowD==6||nowD==0){return}
Browser.msgBox('time to work !');//normally your real function should begin here...
}

参考:Working hours only trigger

但是如何更具体呢?例如将工作时间设置为 8:30 到 17:30 或其他时间,例如班次(工作时间)从一天开始到第二天结束(从第一天的22:30到第二天的06:30)?

【问题讨论】:

    标签: time google-apps-script triggers


    【解决方案1】:

    您可以检查当前时间是否在本例中的轮班时间之间。

    function officeHours(startShift, endShift){
      startShift = startShift || 23;
      endShift = endShift || 7;
      var currentHour = new Date().getHours();
      if (startShift > endShift) {
        if (currentHour >= startShift || currentHour <= endShift) {
          // run the trigger function
        } 
      } else {
        if (currentHour >= startShift && currentHour <= endShift) {
          // run the trigger function
        } 
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多