2011-01-02 13 views
2

自分のJavaクラスでGoogleカレンダーAPIを使用しようとしています。残念ながら、新しく作成されたイベント(この場合は休暇)のendTimeは1日減っているようです。GoogleカレンダーAPI:イベントの終了時間が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

DateTime.parseDate()に時間を指定しないと、デフォルトで午前0時に設定されます。 1日目の真夜中に開始するイベントと5日目の深夜の終了イベントは、1日目から4日目までのフルデイイベントとして実行されます。期間はにはには含まれていないため、5日目には表示されません。

2011-01-05 23:59として終了時刻を設定するか、終了日に1日を追加する必要があります。

+0

私は1日の終わりのイベントを維持しながら時間を提供することができますか、イベントをGoogleに送信する前に1日を増やすことをお勧めしますか?しかし、DateTime.setDateOnly(true)のようなものがあります – Markus

+0

@Markus 00:00-23:59から実行されるイベントは、フルデイイベントになります。 – marcog

+0

しかし、実際には終日イベントとしてマークされていません。しかし、特定の日付(たとえば、カレンダーを使用)に1日追加する際に問題が発生した場合は、この回避策を使用します。 – Markus

関連する問題