我正在使用Ruby Rical基本上生成icalendar作爲對原始icalendar的響應,說明我參加(接受)邀請。紅寶石Rical時區問題
我可以正確生成響應,但是我遇到了時區問題,基本上如果我讓RiCal推斷正確的時區,它將根據原始文件中指定的TimeZone字符串正確工作。
讓我把這個例子:
我可以回答來自谷歌日曆這一邀請沒有問題:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20091226T210000Z
DTEND:20091226T220000Z
DTSTAMP:20091223T191926Z
ORGANIZER;CN=xxx xxx:mailto:[email protected]
UID:[email protected]
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;CN=xxxx xxxx;X-NUM-GUESTS=0:mailto:[email protected]
CREATED:20091223T191925Z
DESCRIPTION:View your event at 4NmIxMmM1ZmJiODM4OTEx&ctz=America%2FLos_Angeles&hl=en.
LAST-MODIFIED:20091223T191925Z
LOCATION:800-292-2393 pin 1234
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:test google calendar attendance response
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
但我發現了一個錯誤(沒有這樣的文件加載 - tzinfo /定義/美國/太平洋時間),當我產生響應的iCal(蘋果Ical.app)邀請:
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
METHOD:REQUEST
PRODID:-//Apple Inc.//iCal 4.0.1//EN
BEGIN:VTIMEZONE
TZID:US/Pacific
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
DTSTART:20070311T020000
TZNAME:PDT
TZOFFSETTO:-0700
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
DTSTART:20071104T020000
TZNAME:PST
TZOFFSETTO:-0800
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN="[email protected]";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTI
ON;RSVP=TRUE:mailto:[email protected]
DTEND;TZID=US/Pacific:20091231T091500
正如你看到的TZID:美國/太平洋是RiCal無效時區indentifier,所以在這些案例..你會如何使用Rical來回答這種icalendar並保留原來的時區?
如果我不清楚這個問題,請問我需要什麼。
哇這很酷,現在要檢查這個:) – 2009-12-30 17:26:57