【发布时间】:2011-10-04 14:02:37
【问题描述】:
我正在从基于 PHP/Zend 框架的日历应用程序中的事件创建 iCalendar 文件。我正在将日期/时间转换为 UTC,以避免与他们一起指定时区。如果我导入一次性事件,Outlook 会正确解释 UTC 时间并将其显示在我的本地时区(东部时间(美国和加拿大))。当我导入重复事件时,Outlook 会忽略日期/时间为 UTC 并将其视为“floating”这一事实。
这是正确导入的一次性事件:
BEGIN:VCALENDAR
PRODID:My Calendar Application
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
UID:EVENT-91@WWW.DOMAIN.COM
DTSTAMP:20110713T143920Z
DTSTART:20110713T110000Z
DTEND:20110713T120000Z
SUMMARY:iCalendar Breakfast
DESCRIPTION:Eat more breakfast!
CATEGORIES:Meals
END:VEVENT
END:VCALENDAR
这是未正确导入的重复事件:
BEGIN:VCALENDAR
PRODID:My Calendar Application
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
UID:EVENT-82@WWW.DOMAIN.COM
DTSTAMP:20110713T142549Z
DTSTART:20110711T220000Z
DTEND:20110711T230000Z
SUMMARY:iCalendar Dinner
DESCRIPTION:This maps to the iCalendar DESCRIPTION field.
CATEGORIES:Meals
RRULE:FREQ=DAILY;UNTIL=20110715T230000Z;INTERVAL=1
END:VEVENT
END:VCALENDAR
东部时间(美国和加拿大)的时间应该是晚上 6 点到晚上 7 点,但在 Outlook 中显示为晚上 10 点到晚上 11 点。
【问题讨论】:
标签: php zend-framework outlook utc icalendar