Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Date 如何在谷歌日历的谷歌应用脚本中相对于现有事件调整开始和结束时间_Date_Google Apps Script_Google Calendar Api - Fatal编程技术网

Date 如何在谷歌日历的谷歌应用脚本中相对于现有事件调整开始和结束时间

Date 如何在谷歌日历的谷歌应用脚本中相对于现有事件调整开始和结束时间,date,google-apps-script,google-calendar-api,Date,Google Apps Script,Google Calendar Api,我有一个GoogleApps脚本,它从我的个人日历中获取日历事件,并将它们作为“忙碌”添加到我的工作日历中。这样,当我有个人事件时,人们就不会安排工作事件(并将我的个人事件保密) 我想调整会议的开始和结束时间,以给我一个缓冲区(类似于Calendly的工作方式) 这是用于创建新事件的代码: var newEvent = primaryCal.createEvent(primaryEventTitle,evi.getStartTime(),evi.getEndTime()); 这些函数返回日期的

我有一个GoogleApps脚本,它从我的个人日历中获取日历事件,并将它们作为“忙碌”添加到我的工作日历中。这样,当我有个人事件时,人们就不会安排工作事件(并将我的个人事件保密)

我想调整会议的开始和结束时间,以给我一个缓冲区(类似于Calendly的工作方式)

这是用于创建新事件的代码:

var newEvent = primaryCal.createEvent(primaryEventTitle,evi.getStartTime(),evi.getEndTime());
这些函数返回日期的格式如下
2019年11月26日星期二12:00:00 GMT-0000(GMT)


如何将
getStartTime()
getEndTime()
调整-15分钟和+15分钟,使上述结果为
2019年11月26日星期二11:45:00 GMT-0000(GMT)

,因此看起来我需要将时间转换为毫秒,删除并添加缓冲区量,然后转换回日期格式

// Number in minutes to add before and after
var buffer = 15;

// Convert start time to milliseconds and subtract buffer
var startTimeInMs = evi.getStartTime().getTime() - (buffer * 60000);

// Convert end time to milliseconds and add the buffer
var endTimeInMs = evi.getEndTime().getTime() + (buffer * 60000);

// Convert start time in milliseconds to new Date
var bufferedStartTime = new Date(startTimeInMs);

// Convert end time in milliseconds to new Date
var bufferedEndTime = new Date(endTimeInMs);

var newEvent = primaryCal.createEvent(primaryEventTitle,bufferedStartTime,bufferedEndTime);