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

时间:2018-02-07 17:16:06

标签: date google-calendar-api

我将管理我的日历,关于一个简单的脚本,它将日历物品进一步移动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()+.........);
    }
  }
}

脚本正在运行,但我找不到创建新时间的logig。

当我拿一个“+”时,它是计算减去的,所以 - 这里有一些例子:

Take:+5 = from:Tue Feb 06 2018 19:00:00 GMT + 0100(MEZ) - &gt;致:2018年2月6日星期二18:55:00 GMT + 0100(MEZ)

Take:-5 = from:Tue Feb 06 2018 19:00:00 GMT + 0100(MEZ) - &gt;致:2018年2月6日星期二18:59:59 GMT + 0100(MEZ)

Take:+60 = from:Tue Feb 06 2018 19:00:00 GMT + 0100(MEZ) - &gt; to:无效日期

Take:-60 * 60 * 24 * 1000 * 1000 = from:Tue Feb 06 2018 19:00:00 GMT + 0100(MEZ) - &gt;截至:2015年5月13日星期三20:00:00 GMT + 0200(MESZ)

Take:+ 60 * 60 * 24 * 1000 * 1000 = from:Tue Feb 06 2018 19:00:00 GMT + 0100(MEZ) - &gt; to:无效日期

我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

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

来自:

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

致:

在这种情况下,作为样本,我将+5, -5, +60, -60的单位设置为“分钟”。

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

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