Как использовать .setTimeZone (String) в скрипте Google Apps - PullRequest
0 голосов
/ 14 февраля 2019

Я создал скрипт для перевода всех школьных классов в календарь с помощью Google Apps Script, но у меня проблема с DST.Я нашел

.setTimeZone(string)

в документации Google, но не смог заставить его работать.Любая помощь?

function makeCalendar(name, begin, end, calendar, recurrence) {
    var eventSeries = CalendarApp.getCalendarById(calendar).createEventSeries(
        name,
        begin,
        end,
        recurrence.setTimeZone("Europe/Belgrade")
    );  
}

Это должно было изменить часовой пояс события, но оно застряло в UTC, я могу редактировать вручную, но не могу изменить его через код

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Я играл с этим в течение некоторого времени, и я думаю, что смена часового пояса календаря сделала это, теперь это работает, но я не уверен, почему

Я не знаю, будет ли это работать для вас, но я простосделал

CalendarApp.getCalendarById(calendar).setTimeZone(string)
0 голосов
/ 14 февраля 2019

Похоже, вы вызываете .setTimeZone("Europe/Belgrade") для переменной reoccurance, а не для цепочки CalendarApp.createEventSeries().

function makeCalendar(name, begin, end, calendar, recurrence) {
    var eventSeries = CalendarApp.getCalendarById(calendar).createEventSeries(
        name,
        begin,
        end,
        recurrence
    ).setTimeZone("Europe/Belgrade");  //Call on chain, not on reoccurence.
}
...