我正在编写一个脚本,以将事件从Google表单直接添加到Google日历,并支持重复事件。我这样做的方式是,检查事件将要重复发生的每一天的可用性,然后将忙和空闲日期作为对象中的数组传递给我的createEvent
函数。当我尝试创建一个RecurrenceRule
并将这些日期添加到我的日历中时,它并没有考虑夏时制1个小时的转变,而是仅在3月(发生夏时制)。完美适用于四月和五月。
我试图为重复设置相同的时区,我什至试图自己在日期数组中考虑夏令时,但无济于事。函数的基本内容如下:
function createEvent(event, availabilityObj) {
var calendar = CalendarApp.getDefaultCalendar();
var freeDates = availabilityObj.availableDates;
var recurrence = CalendarApp.newRecurrence().setTimeZone("America/Chicago");
for (var i = 0; i < freeDates.length; i++) {
recurrence.addDate(freeDates[i]);
}
calendar.createEventSeries(event.name, event.start, event.end, recurrence);
}
我已经阅读了RecurrenceRule
类的文档,但是在那里没有找到解决此难题的方法。除了单独创建所有重复事件之外,没有人知道解决此问题的方法吗?任何帮助都将不胜感激!