我正在尝试在自己的Java类中使用Google Calendar API。不幸的是,新创建的事件的endTime(在这种情况下休假)似乎减少了1天。
示例:我使用startTime 2011-01-01和endTime 2011-01-05创建一个事件,该事件将在2011-01-01至2011-01-04的Google日历中显示。
这是我到目前为止所得到的(只是日期部分,取自Google Calendar API Developer's Guide,更改为日期,因为我想要全天活动):
...
CalendarEventEntry myEntry = new CalendarEventEntry();
DateTime startTime = DateTime.parseDate("2011-01-01");
DateTime endTime = DateTime.parseDate("2011-01-05");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEntry.addTime(eventTimes);
Reminder reminder = new Reminder();
reminder.setMethod(Method.NONE);
myEntry.getReminder().add(reminder);
CalendarEventEntry insertedEntry = myService.insert(postUrl, myEntry);
...
这可能与时区问题有某种关系吗? (我来自德国)
答案 0 :(得分:0)
如果您未向DateTime.parseDate()
提供时间,则默认为午夜。从1日午夜开始到5日午夜结束的活动将在界面中显示为从1日到4日的全日活动。该时间段不包括 on the 5th的任何时间,因此它不会显示为5日。
您需要将结束时间设置为2011-01-05 23:59,或者将一天添加到结束日期。