GSuite 服务 - 日历 - 时区和年份的错误?
GSuite services - Calendar - bug with timezone and years?
我正在使用 GSuite 服务日历 (https://developers.google.com/apps-script/reference/calendar/calendar) 从我的 Google 日历中检索事件。
我是法国人(这对时区很重要)。
我注意到了一些奇怪的事情:
- 在我的 Google 日历上,我创建了一个事件,例如:2017-11-17 上午 10 点到晚上 18 点(注意 2017 年)。
- 使用 Javascript 和日历服务 API,我检索此事件并打印开始和结束日期:
function runMe() {
var calendar = CalendarApp.getDefaultCalendar();
Logger.log('My default calendar is set to the time zone "%s".', calendar.getTimeZone());
const events = calendar.getEvents(new Date(2017, 10, 17), new Date(2017, 10, 18));
events.forEach(event => Logger.log (event.getStartTime()+" - "+event.getEndTime()));
}
// logs:
// My default calendar is set to the time zone "Europe/Paris".
// Fri Nov 17 2017 09:00:00 GMT+0100 (heure normale d’Europe centrale) - Fri Nov 17 2017 17:00:00 GMT+0100 (heure normale d’Europe centrale)
日期不正确,我希望Fri Nov 17 2017 10:00:00 GMT+0100 (heure normale d’Europe centrale) - Fri Nov 17 2017 18:00:00 GMT+0100 (heure normale d’Europe centrale)
- 现在,在我的 Google 日历上,我在同一日期创建了另一个活动,但时间是 2018 年。
- 使用 Javascript 和日历服务 API,我检索此事件并打印开始和结束日期:
...
function runMe() {
var calendar = CalendarApp.getDefaultCalendar();
Logger.log('My default calendar is set to the time zone "%s".', calendar.getTimeZone());
const events = calendar.getEvents(new Date(2018, 10, 17), new Date(2018, 10, 18));
events.forEach(event => Logger.log (event.getStartTime()+" - "+event.getEndTime()));
}
// logs:
// My default calendar is set to the time zone "Europe/Paris".
// Sat Nov 17 2018 10:00:00 GMT+0100 (heure normale d’Europe centrale) - Sat Nov 17 2018 18:00:00 GMT+0100 (heure normale d’Europe centrale)
日期正确。
发生了什么事?
这似乎是一个错误!
我对此进行了大量测试,日历 API returns 2017 年夏令时结束时间与 2017 年夏令时再次开始时间之间的时间似乎不正确2018.
我冒昧地在 Google 的问题跟踪器上为您报告了此问题,详细说明了行为:
您可以点击页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地看到它。
我正在使用 GSuite 服务日历 (https://developers.google.com/apps-script/reference/calendar/calendar) 从我的 Google 日历中检索事件。
我是法国人(这对时区很重要)。
我注意到了一些奇怪的事情:
- 在我的 Google 日历上,我创建了一个事件,例如:2017-11-17 上午 10 点到晚上 18 点(注意 2017 年)。
- 使用 Javascript 和日历服务 API,我检索此事件并打印开始和结束日期:
function runMe() {
var calendar = CalendarApp.getDefaultCalendar();
Logger.log('My default calendar is set to the time zone "%s".', calendar.getTimeZone());
const events = calendar.getEvents(new Date(2017, 10, 17), new Date(2017, 10, 18));
events.forEach(event => Logger.log (event.getStartTime()+" - "+event.getEndTime()));
}
// logs:
// My default calendar is set to the time zone "Europe/Paris".
// Fri Nov 17 2017 09:00:00 GMT+0100 (heure normale d’Europe centrale) - Fri Nov 17 2017 17:00:00 GMT+0100 (heure normale d’Europe centrale)
日期不正确,我希望Fri Nov 17 2017 10:00:00 GMT+0100 (heure normale d’Europe centrale) - Fri Nov 17 2017 18:00:00 GMT+0100 (heure normale d’Europe centrale)
- 现在,在我的 Google 日历上,我在同一日期创建了另一个活动,但时间是 2018 年。
- 使用 Javascript 和日历服务 API,我检索此事件并打印开始和结束日期:
...
function runMe() {
var calendar = CalendarApp.getDefaultCalendar();
Logger.log('My default calendar is set to the time zone "%s".', calendar.getTimeZone());
const events = calendar.getEvents(new Date(2018, 10, 17), new Date(2018, 10, 18));
events.forEach(event => Logger.log (event.getStartTime()+" - "+event.getEndTime()));
}
// logs:
// My default calendar is set to the time zone "Europe/Paris".
// Sat Nov 17 2018 10:00:00 GMT+0100 (heure normale d’Europe centrale) - Sat Nov 17 2018 18:00:00 GMT+0100 (heure normale d’Europe centrale)
日期正确。
发生了什么事?
这似乎是一个错误!
我对此进行了大量测试,日历 API returns 2017 年夏令时结束时间与 2017 年夏令时再次开始时间之间的时间似乎不正确2018.
我冒昧地在 Google 的问题跟踪器上为您报告了此问题,详细说明了行为:
您可以点击页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地看到它。