我已经打开issue关于(我假设的)是Google App Scripts中的一个错误,但它看起来不像是受到监控,所以我想知道是否有人解决了我的问题。< / p>
总而言之,我正在运行一个脚本(通过谷歌电子表格),该脚本试图在我创建的Google日历中输入一个条目。
function testCalendarAllDayEvent(){
var calendar = CalendarApp.getCalendarById("od4434jhedv936p65gcbl3bjg@group.calendar.google.com");
var calTimezone = calendar.getTimeZone();
var scriptTimezone = Session.getTimeZone();
var calendarevent = calendar.createAllDayEvent("Test Event", new Date(2011,7,1));
var summary = calendarevent.getStartTime();
}
所以上面的代码在2011年7月31日而不是7月1日添加了“测试事件”。如果我改成它
new Date (2011,7,2)
它将它放在2011年8月1日。所以它似乎是30天了。
我查看时区的原因是为了确保它们是相同的。当我查看summary
变量值时,它是Mon Aug 01 2011 01:00:00 GMT+0100 (IST)
我不想盲目地在所有日期添加30天,因为它会以泪水结束。有谁知道我在做什么是不正确的?我已将Google示例用作模板。
答案 0 :(得分:0)
这里的问题是Date constructor采用从零开始的月份索引。所以
new Date(2011,7,1)
创建2011年8月1日的日期。
,而
new Date(2011,6,1)
创建了2011年7月1日的日期。