我有一个很好的功能,可以显示本月日历上的所有事件,但我不知道如何将其更改为本周(周一至周日)。
例如,我可以通过将日期更改为今天的日期并添加天数来更改列表。我用Utilities.formatDate尝试了一些东西,但这给了我周数,没有日期。我不知道如何得到这个星期。
function listEvents2() {
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
var events2 = CalendarApp.getDefaultCalendar().getEvents(firstDay, lastDay);
var data2 = [];
data2.push("Deze maand: ");
if (events2 && events2.length > 0) {
for (i = 0; i < events2.length; i++) {
data2.push(events2[i].getTitle()+' : '+Utilities.formatDate(events2[i].getStartTime(),Session.getScriptTimeZone(),"dd MMMM HH:mm")+' - '+Utilities.formatDate(events2[i].getEndTime(),Session.getScriptTimeZone(),"HH:mm"))
}
return data2;
}
else {
return ['No events found','',''];
}
}
我想要一些技巧来实现这一目标。
编辑:也许我需要解释更多。该功能用于带有HtmlService的个人计划表仪表板。还有另一个功能可以列出今天的事件。
您可能会发现此related question有用。它可以帮助您获得星期一(如果您希望您的星期从星期日到星期六,可以将其更改为星期日)。
您可以将其用作firstDay
,然后您的lastDay
比该日期晚6天,所以类似:
var lastDay = new Date(firstDay.setDate(firstDay.getDate() + 6))
[请注意,在Javascript中,如果.getDay()
方法是星期日,则返回0,如果是星期一[0],则返回1。同样,对于月份,一月为0,二月为1,依此类推。[1]