0

Webcal ストリームを作成しました。Google カレンダーはそれを正常に読み取り、イベントを作成します。ただし、作成されるイベントは本来より 5 時間早くなります。たとえば、次のイベントは午後 1 時に発生します。

同じ webcal ストリームを取得して .ics ファイルとして保存し、そのファイルを Google カレンダーにインポートすると、すべての時間が正確になります。

Google カレンダーがこれらを異なる方法で処理するのはなぜですか? Mac Calendar アプリケーションでは、イベントを webcal ストリーム経由で追加するか、.ics ファイルをインポートして追加するかに関係なく、適切なタイミングでイベントが表示されます。

Google カレンダーと Mac カレンダーの両方が、私が EST にいることを認識しています (カレンダー設定を介して - ご覧のとおり、ICS ファイルでは何も宣言されていません)。

イベントを追加すると自動的に更新されるように、Google に webcal ストリームを正しく処理してもらいたいです。

ICS ファイルの開始と 1 つのイベントがここにリストされます。Mac カレンダーでは午後 6 時に表示され、Google カレンダーでは午後 1 時に表示されます。

BEGIN:VCALENDAR
CALSCALE:GREGORIAN
METHOD:PUBLISH
PRODID:iCalendar-Ruby
VERSION:2.0
BEGIN:VEVENT
DESCRIPTION: football game on Sunday at 6pm, on NBC, with dinner
DTEND:20121208T233000Z
DTSTAMP:20130124T200858
DTSTART:20121208T230000Z
CLASS:PUBLIC
SEQUENCE:0
SUMMARY:sunday 6pm football game
UID:2013-01-24T20:08:58+00:00_945022440@e8deb599-a4b6-40a3-b82c-d1baf5e9109e
END:VEVENT
END:VCALENDAR
4

1 に答える 1

1

これは、Google カレンダーがフローティング タイムゾーンを使用しないためです。タイムゾーンが指定されていない場合、UTC と見なされます。ics ファイルで特定のタイムゾーンが指定されていないものをインポートすると、Mac カレンダーはユーザーのタイムゾーンを想定します。そのため、タイムゾーン情報をファイルに追加する必要があります。

Google カレンダーとタイム ゾーンの連携

Google を含む複数のクライアント用の ICS ファイルの書き込み

ファイルに VTIMEZONE セクションを追加すると、次のように役立ちます。

BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:16011104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
于 2013-01-24T21:34:35.033 に答える