我如何使用 getEndTime() 创建一个新的 EndTime

How i can create a new EndTime with getEndTime()

我将通过一个简单的脚本来管理我的日历,该脚本将日历项目向前移动 60 分钟。

为此功能采用此 Google Apps 脚本:

function myFunction() {
  var cal = CalendarApp.getCalendarById("myCalendar@gmail.com");  
  cal.createEvent("TTIITTEELL", new Date("02/06/2018 18:00:00"), new Date("02/06/2018 19:00:00"));

  var events = cal.getEvents(new Date("02/05/2018"), new Date("02/07/2018"));

  for (var i=0;i<events.length;i++) {
    if (events[i].getTitle() == "TTIITTEELL") {
      var t = events[i].getEndTime();
      var text = new Date(events[i].getEndTime()+.........);
    }
  }
}

脚本是 运行,但我找不到创建新时间的日志。

当我取一个“+”时,它是一个减号,所以-这里有一些例子:

采取:+5 = 从:2018 年 2 月 6 日星期二 19:00:00 GMT+0100 (MEZ) --> 到:2018 年 2 月 6 日星期二 18:55:00 GMT+0100 (MEZ)

取:-5 = 从:2018 年 2 月 6 日星期二 19:00:00 GMT+0100 (MEZ) --> 到:2018 年 2 月 6 日星期二 18:59:59 GMT+0100 (MEZ)

采取:+60 = 从:2018 年 2 月 6 日星期二 19:00:00 GMT+0100 (MEZ) --> 到:无效日期

采取:-60*60*24*1000*1000 = 从:2018 年 2 月 6 日星期二 19:00:00 GMT+0100 (MEZ) --> 到:2015 年 5 月 13 日星期三 20:00:00 GMT +0200 (MESZ)

拍摄:+60*60*24*1000*1000 = 从:2018 年 2 月 6 日星期二 19:00:00 GMT+0100 (MEZ) --> 到:无效日期

我的错误在哪里?

这个答案怎么样?在您的脚本中,events[i].getEndTime() 是日期对象。所以当数字被添加到对象中时,它不会变成你想要的结果。当你想要加减法时,你可以使用下面的脚本。请修改如下。

发件人:

var t = events[i].getEndTime();
var text = new Date(events[i].getEndTime()+.........);

收件人:

在这种情况下,作为示例,我将+5, -5, +60, -60的单位设置为"minutes"。

var num = 5; // Please input 5, -5, 60, -60, ...
var t = events[i].getEndTime().getTime();
var text = new Date(t + num * 60 * 1000);

如果我误解了你的问题,我很抱歉。