【发布时间】:2017-10-03 15:32:13
【问题描述】:
我有以下代码。它是一个 Apps 脚本,用于获取指定的两个日期之间的所有 Google 日历事件。
// from https://blog.ouseful.info/2010/03/05/grabbing-google-calendar-event-details-into-a-spreadsheet/
function caltest3(){
//http://www.google.com/google-d-s/scripts/class_calendar.html#getEvents
// The code below will retrieve events between 2 dates for the user's default calendar and
// display the events the current spreadsheet
var cal = CalendarApp.getDefaultCalendar();
var sheet = SpreadsheetApp.getActiveSheet();
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var events = cal.getEvents(new Date("October 3, 2017 00:00:00"), new Date("October 3, 2017 23:00:00"));
for (var i=0;i<events.length;i++) {
//http://www.google.com/google-d-s/scripts/class_calendarevent.html
var details=[[events[i].getStartTime(), events[i].getEndTime(), events[i].getTitle(), events[i].getDescription()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
}
}
目前,这两个日期是硬编码的,位于声明 events 的行上。我将日期范围设置为同一日期,重点是前 23 小时。
但是,由于脚本每天都会触发,因此我无法对这两个日期进行硬编码 - 它们都应该是动态的,反映当前日期。
那么,在保留硬编码的时间的同时,如何使用格式为“2017 年 10 月 3 日”的当前日期来代替硬编码的日期?
是的,我已经调查并阅读了有关 Date object 的信息,但我似乎无法做出正确的表达。一些额外的信息应该可以帮助我了解更多。
【问题讨论】:
标签: javascript date google-apps-script