Google apps script 在对象内更改时间
我的代码在谷歌日历中创建了一个事件,我需要获得开始时间的值,并添加2小时来获得我的结束时间 下面是my函数返回的数组示例: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
[[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-dArray
,因为您的范围始终为一行):
有用的链接
日期
内置对象李>
getHours()
方法李>
setHours()
方法李>
解决方案 要将小时数增加2,您可以使用
Date
内置对象的getHours()
和setHours()
方法,并将实例写入数据
变量。由于需要动态增加小时数,您必须像这样配对这些方法:dateInstance.setHours(dateInstance.getHours()+2)
样本
因此,经过此修改的脚本将如下所示(请注意,我还更新了您的代码以直接使用1-dArray
,因为您的范围始终为一行):
有用的链接
日期
内置对象李>
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]});
}