首页 > 解决方案 > 更改对象内部的时间

问题描述

我的代码在 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]}) ;

标签: google-apps-scriptgoogle-sheetsgoogle-calendar-api

解决方案


解决方案

要将小时数增加 2,您可以使用内置对象的getHours()setHours()方法,并将实例写入变量。由于您需要动态增加小时数,因此您必须像这样配对这些方法:DatedatadateInstance.setHours(dateInstance.getHours()+2)

样本

因此,经过此修改的脚本将如下所示(请注意,我还更新了您的代码以直接使用 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()方法深度链接
  3. setHours()方法深度链接

推荐阅读