首页 > 解决方案 > 如何在 Google Apps 脚本中使用 .setTimeZone(String)

问题描述

我已经使用 Google Apps 脚本制作了一个将所有学校课程转移到日历的脚本,但我遇到了 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,我可以手动编辑,但不能通过代码更改它

标签: google-apps-scripttimezonegoogle-calendar-apidst

解决方案


看起来你是.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.
}

推荐阅读