Сценарий Google Apps, чтобы остановить триггер на определенных диапазонах дат - PullRequest
0 голосов
/ 14 марта 2019

У меня есть скрипт для предотвращения запуска триггера в определенное время, благодаря Амит Агарвал , который помог мне в этой теме

Сценарий такой:

function shouldRunTrigger() {
  var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
  var date = new Date();
  var day = days[date.getDay()];
  var hours = date.getHours();
  if ((day === "Fri" && hours >= 17) || (day === "Sat" && hours <= 22)) {
    return false;
  }
  return true;
}

function myTrigger() {
  if (!shouldRunTrigger()) return;
  // trigger code here
}

Этот код запрещает запуск моего триггера с пятницы 5 вечера до субботы 10 вечера, и он отлично работает.

Теперь мне нужно добавить еще один else if, чтобы предотвратить запуск триггера в определенные даты диапазона, например:

  • Я не хочу запускать его с марта23-го 15:00 до 25 марта. 17:00 * 10101
  • Я пытался добиться этого без удачи

Кто-нибудь может мне помочь добавить это if else условие, пожалуйста?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 14 марта 2019

Вы можете добавить еще одну проверку в методе shouldRunTrigger ().

var current = new Date()
var min = new Date(2019,2,23,15);
var max = new Date(2019,2,25,17);
if (current > min && current < max) return false;
0 голосов
/ 15 марта 2019

Я изменил || для && и теперь работает отлично.

Окончательный код, работающий для этого:

else if (date >= new Date('2019-03-10T15:00:00') && date <= new Date('2019-04-25T17:00:00')) {
    return false;
}

Спасибо за вашу помощь!

0 голосов
/ 14 марта 2019

Вы можете сделать это, сравнивая текущую дату с объектом Date, как показано ниже:

function shouldRunTrigger() {
  var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
  var date = new Date();
  var day = days[date.getDay()];
  var hours = date.getHours();
  if ((day === "Fri" && hours >= 17) && (day === "Sat" && hours <= 22)) {
    return false;
  }
  else if(date >= new Date('2019-03-23T15:00:00') || date <= new Date('2019-03-25T17:00:00')) {
    return false;
  }
  return true;
}

function myTrigger() {
  if (!shouldRunTrigger()) return;
  // trigger code here
}

Объект Date в JavaScript представлен в формате ГГГГ-ММ-ДДТЧ: ММ: СС. Более подробную информацию можно найти на веб-сайте MDN здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...