我想从 Google 日历中提取活动的时间(非日期)



谷歌日历到谷歌表格和源从事件[i].getStartTime((中提取,这只拉日期,我希望只拉开始时钟时间。

我已经看遍了所有地方,找不到从谷歌日历中提取这个的代码。

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实现此目的。

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

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);

注意:

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

引用:

  • 设置数字格式((
  • 格式日期((

如果我误解了你的问题,这不是你想要的结果,我很抱歉。

最新更新