изменить время внутри объекта - PullRequest
0 голосов
/ 21 июня 2019

Мой код создает событие в Календаре Google, мне нужно получить значение времени начала и добавить 2 часа, чтобы узнать время окончания.

Вот пример массива, который возвращает моя функция:

[[kljlkjl, Manaf, Tue Jun 25 16:00:00 GMT+03:00 2019]]

Это часть кода, которую я хочу исправить:

  var data = ss.getRange("A"+activeRow+":G"+activeRow).getValues();

   if(cellContent === "Manaf") {
       Logger.log(data);
       Manaf.createEvent(data[0][0],data[0][2],data[0][2],{description: "First call "+ data[0][0]}) ;

1 Ответ

2 голосов
/ 21 июня 2019

Решение

Чтобы увеличить часы на 2, вы можете использовать методы getHours() и setHours() встроенного объекта Date с экземпляром, записанным в переменную data. Поскольку вам нужно динамически увеличивать часы, вам нужно будет соединить эти методы следующим образом: dateInstance.setHours(dateInstance.getHours()+2).

Sample

Итак, ваш скрипт с этой модификацией будет выглядеть следующим образом (обратите внимание, что я также обновил ваш код, чтобы он работал непосредственно с 1-d Array, поскольку ваш диапазон всегда однорядный):

var data  = ss.getRange("A"+activeRow+":G"+activeRow).getValues()[0];
var start = data[2];
var end   = new Date(start); //create new Date to persist start;
    end.setHours(start.getHours()+2); //add 2 hours;

if(cellContent === "Manaf") {
  Manaf.createEvent(data[0],start,end,{description: "First call "+ data[0]});
}

Полезные ссылки

  1. Date встроенный объект ссылка ;
  2. getHours() метод deeplink ;
  3. setHours() метод deeplink ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...