我想从Google日历中提取事件的时间,(不是日期)

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

从事件[i] .getStartTime()的Google日历到Google表格和源的提取,这仅提取日期,我希望仅提取开始时钟时间。

我看了遍,找不到从Google日历中提取代码的代码。

var details = [[
  events[i].getTitle(),
  events[i].getLocation(),
  events[i].getDescription(),
  events[i].getStartTime(),
  events[i].getDateCreated()
]];
var range = sheet.getRange(row,1,1,5);
range.setValues(details);

实际结果是将日历上事件的开始“时间”发送到Google表格。

google-apps-script google-calendar-api
1个回答
1
投票
  • 您要将事件的开始时间放入电子表格。
    • 在这种情况下,时间不是日期。
  • 您想使用Google Apps脚本来实现。

如果我的理解是正确的,那么这个答案呢?

getStartTime()返回日期对象。因此,时间信息也包括在内。在这种情况下,修改脚本后,如何进行以下修改?

模式1:

在此模式下,通过使用setNumberFormat()设置单元格格式来显示时间。

修改的脚本:

var details = [[
  events[i].getTitle(),
  events[i].getLocation(),
  events[i].getDescription(),
  events[i].getStartTime(),
  events[i].getDateCreated()
]];
var range = sheet.getRange(row,1,1,5);
sheet.getRange(row,4,1,1).setNumberFormat("HH:mm:ss"); // Added
range.setValues(details);

模式2:

在此模式下,使用Utilities.formatDate()将时间设置为字符串。

修改的脚本:

var details = [[
  events[i].getTitle(),
  events[i].getLocation(),
  events[i].getDescription(),
  Utilities.formatDate(events[i].getStartTime(), Session.getScriptTimeZone(), "HH:mm:ss"), // Modified
  events[i].getDateCreated()
]];
var range = sheet.getRange(row,1,1,5);
range.setValues(details);

注意:

  • 这是一个简单的修改。因此,请根据您的情况进行修改。

参考:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

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