Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在对象内更改时间_Google Apps Script_Google Sheets_Google Calendar Api - Fatal编程技术网

Google apps script 在对象内更改时间

Google apps script 在对象内更改时间,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,我的代码在谷歌日历中创建了一个事件,我需要获得开始时间的值,并添加2小时来获得我的结束时间 下面是my函数返回的数组示例: [[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.l

我的代码在谷歌日历中创建了一个事件,我需要获得开始时间的值,并添加2小时来获得我的结束时间

下面是my函数返回的数组示例:

[[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]}) ;

解决方案

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

样本

因此,经过此修改的脚本将如下所示(请注意,我还更新了您的代码以直接使用1-d
Array
,因为您的范围始终为一行):

有用的链接

  • 日期
    内置对象
  • getHours()
    方法
  • setHours()
    方法
    解决方案

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

    样本

    因此,经过此修改的脚本将如下所示(请注意,我还更新了您的代码以直接使用1-d
    Array
    ,因为您的范围始终为一行):

    有用的链接

  • 日期
    内置对象
  • getHours()
    方法
  • setHours()
    方法
    嗨,马纳夫!我不确定我是否正确理解了您试图在这里执行的操作,但是如果您只是需要时间更改为延迟两小时,您可以在输出日期使用配对
    getHours()
    ->
    setHours()
    。请让我知道,如果是这样的情况-如果是这样,我会得到详细的回答后,进一步检查您的脚本,决定张贴的答案只是以防万一,希望它有帮助!你好,Oleg,请看我在单元格“dd/mm/yyyy hh:mm:ss”中的函数解析整行,并将其添加到标题、开始时间和结束时间,以便在google日历中使用。我不想为结束时间创建另一列,所以我只需要使用开始时间culumn+2小时。当我记录上面打印的数组的函数时,这里没有问题,因此我想将日期[0][2]更改为“周二6月25日16:00:00 GMT+2019年03:00”到“周二6月25日18:00:00 GMT+2019年03:00”,希望您理解我想做的事情谢谢!我当时正确地理解了你——请看我关于如何继续的回答:)嗨,马纳夫!我不确定我是否正确理解了您试图在这里执行的操作,但是如果您只是需要时间更改为延迟两小时,您可以在输出日期使用配对
    getHours()
    ->
    setHours()
    。请让我知道,如果是这样的情况-如果是这样,我会得到详细的回答后,进一步检查您的脚本,决定张贴的答案只是以防万一,希望它有帮助!你好,Oleg,请看我在单元格“dd/mm/yyyy hh:mm:ss”中的函数解析整行,并将其添加到标题、开始时间和结束时间,以便在google日历中使用。我不想为结束时间创建另一列,所以我只需要使用开始时间culumn+2小时。当我记录上面打印的数组的函数时,这里没有问题,因此我想将日期[0][2]更改为“周二6月25日16:00:00 GMT+2019年03:00”到“周二6月25日18:00:00 GMT+2019年03:00”,希望您理解我想做的事情谢谢!我当时理解正确-请看我关于如何继续的回答:)
    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]});
    }