Google 表格到 Google 日历的集成

问题描述 投票:0回答:1

我是一名初学者,正在为谷歌工作表编写代码,以根据谷歌工作表上输入的数据在谷歌日历上创建事件。我的开始日期和结束日期按以下格式编写:yyyy", "m", "d", "h", "m", "s 例如:在单元格 Z2 上写为:2023, 2, 1, 11, 0, 0。我的 Google 日历上的时区设置为 GMT+07:00。代码已在正确的日期成功创建事件,但时间始终错误,例如在单元格 Z2 上,脚本已于 2023 年 2 月 2 日成功创建事件,但事件时间记录不正确 (00:00 - 01:00)应该是(11:00 - 12:00)。任何人都可以帮助我确定问题是否出在谷歌表上的日期时间格式中,或者是否出在代码本身上?如有任何帮助,我们将不胜感激。

这是我尝试过的代码:

function createEvent() {
  var spreadsheet = SpreadsheetApp.openById('SpreadsheetId');
  var sheet = spreadsheet.getSheetByName('SheetName');

  var data = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();

  var calendar = CalendarApp.getCalendarById('Calendar ID');

  for (var i = 0; i < data.length; i++) {
    var row = data[i];
    var title = row[31]; // Column AF
    var description = row[3]; // Column D
    var startDate = new Date(row[25]); // Column Z
    var endDate = new Date(row[26]); // Column AA

    var event = calendar.createEvent(title, startDate, endDate, { description: description });

    Logger.log('Event ID: ' + event.getId());
  }
}
javascript google-apps-script google-sheets google-calendar-api integration
1个回答
0
投票

停止添加时区,默认时区是在日历本身中配置的。 Google 知道日历配置在哪个时区。

因此,如果您在早上 10 点插入它,它将在该日历时区的早上 10 点插入。

通过添加时区,您往往会混淆事情,并且结果非常难以预测。

© www.soinside.com 2019 - 2024. All rights reserved.