Google 在错误的日期和时间创建了日历事件
Google Calendar event created at a wrong date and time
.createEvent() 无法正常工作
当我执行以下代码时,在错误的日期和时间创建了一个事件。我想在 2021/2/21 17:00 - 22:00 上创建一个活动,但该活动是在 2021/2/22 上创建的7:00 - 12:00.
这是我的 GAS 代码和我的 Google 日历的屏幕截图。
function pracCalendar() {
const id = 'foo@gmail.com';
const calendar = CalendarApp.getCalendarById(id);
const title = 'Test Event';
const startTime = new Date('2021/2/21 17:00');
const endTime = new Date('2021/2/21 22:00');
const options = {
description: 'Test Description',
location: 'Test Location',
guests: 'bar@gmail.com',
sendInvites: true
}
calendar.createEvent(title, startTime, endTime, options);
}
这是时区造成的吗?
我不确定这是否相关,但以防万一...我目前住在日本。我的 Google 日历的时区是 Asia/Tokyo
。
谁能告诉我如何解决这个问题?
可能的问题:
我认为问题与 Google Apps 脚本项目和您的日历之间的不同 时区有关。
要检查这一点,请将以下两行添加到您当前的脚本中:
console.log(Session.getScriptTimeZone()) // script timezone
console.log(CalendarApp.getTimeZone()) // calendar timezone
解决方案:
如果两个时区之间存在差异,请更新 Google Apps 脚本项目的时区。您需要打开 appsscript.json
文件并调整时区以与日历的时区完全匹配。
您可以在此处找到有关如何打开 appsscript.json
文件的说明:
取消隐藏后,它将在脚本编辑器中可见。例如,您需要将 Europe/Paris
更改为:
"timeZone": "Europe/Paris",
什么 CalendarApp.getTimeZone()
returns(最有可能 Asia/Tokyo
)并保存更改。
请注意:
除了 2 小时的差异之外,您的代码应该为 2 月 21 日 (2021/2/21) 创建一个事件,但结果事件(在您的屏幕截图中)是在 22 日创建的。小心这个。
.createEvent() 无法正常工作
当我执行以下代码时,在错误的日期和时间创建了一个事件。我想在 2021/2/21 17:00 - 22:00 上创建一个活动,但该活动是在 2021/2/22 上创建的7:00 - 12:00.
这是我的 GAS 代码和我的 Google 日历的屏幕截图。
function pracCalendar() {
const id = 'foo@gmail.com';
const calendar = CalendarApp.getCalendarById(id);
const title = 'Test Event';
const startTime = new Date('2021/2/21 17:00');
const endTime = new Date('2021/2/21 22:00');
const options = {
description: 'Test Description',
location: 'Test Location',
guests: 'bar@gmail.com',
sendInvites: true
}
calendar.createEvent(title, startTime, endTime, options);
}
这是时区造成的吗?
我不确定这是否相关,但以防万一...我目前住在日本。我的 Google 日历的时区是 Asia/Tokyo
。
谁能告诉我如何解决这个问题?
可能的问题:
我认为问题与 Google Apps 脚本项目和您的日历之间的不同 时区有关。
要检查这一点,请将以下两行添加到您当前的脚本中:
console.log(Session.getScriptTimeZone()) // script timezone
console.log(CalendarApp.getTimeZone()) // calendar timezone
解决方案:
如果两个时区之间存在差异,请更新 Google Apps 脚本项目的时区。您需要打开 appsscript.json
文件并调整时区以与日历的时区完全匹配。
您可以在此处找到有关如何打开 appsscript.json
文件的说明:
取消隐藏后,它将在脚本编辑器中可见。例如,您需要将 Europe/Paris
更改为:
"timeZone": "Europe/Paris",
什么 CalendarApp.getTimeZone()
returns(最有可能 Asia/Tokyo
)并保存更改。
请注意:
除了 2 小时的差异之外,您的代码应该为 2 月 21 日 (2021/2/21) 创建一个事件,但结果事件(在您的屏幕截图中)是在 22 日创建的。小心这个。