为什么RecurrenceRule的addDate函数没有考虑三月份的夏时制?

时间:2019-01-10 05:34:03

标签: google-apps-script google-calendar-api

我正在编写一个脚本,以将事件从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类的文档,但是在那里没有找到解决此难题的方法。除了单独创建所有重复事件之外,没有人知道解决此问题的方法吗?任何帮助都将不胜感激!

0 个答案:

没有答案