API Календаря Google: конечное время события уменьшается на 1 день - PullRequest
2 голосов
/ 02 января 2011

Я пытаюсь использовать API Календаря Google в своем собственном классе Java.К сожалению, endTime вновь созданного события (в данном случае это отпуск), по-видимому, уменьшилось на 1 день.

Пример: я создаю событие с startTime 2011-01-01 и endTime 2011-01-05 событиебудет отображаться в Календаре Google с 2011-01-01 по 2011-01-04.

Это то, что я получил до сих пор (только часть даты, взятая из Руководства разработчика API Календаря Google , изменено на «Дата», потому что я хочу события на весь день):

...
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);
...

Может ли это быть как-то связано с проблемами часовых поясов?(Я из Германии)

1 Ответ

0 голосов
/ 02 января 2011

Если вы не предоставите DateTime.parseDate() время, по умолчанию будет полночь.Событие, начинающееся в полночь 1-го числа и заканчивающееся в полночь 5-го числа, будет отображаться в интерфейсе как события полного дня с 1-го по 4-е.Период времени не включает в себя время на 5-го числа, поэтому оно не будет отображаться как 5-е.

Вам также необходимо установить время окончания как 2011-01-05 23:59 или добавьте день к дате окончания.

...