Я пишу скрипт для добавления событий из формы Google непосредственно в календарь Google с поддержкой повторяющихся событий. Для этого я проверяю доступность на каждый день, когда событие повторяется, а затем передаю даты занятости и освобождения в виде массивов в объекте в мою функцию createEvent
. Когда я пытаюсь создать RecurrenceRule
, чтобы добавить эти даты в мой календарь, он не учитывает 1-часовую смену летнего времени, но только в марте (когда происходит переход на летнее время). Отлично работает в апреле и мае.
Я пытался установить тот же часовой пояс для повторения, и я даже пытался учесть летнее время самостоятельно в массиве дат, но безрезультатно. Вот в основном, что это за функция:
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
, но не нашел там решения этой дилеммы. Кто-нибудь знает решение этой проблемы, кроме индивидуального создания всех повторяющихся событий? Любая помощь приветствуется!