我使用Exchange 2010的日历发布功能订阅iOS和OS X上的共享日历。我的日历包含许多全天活动。在iOS和OS X上,它们被错误地显示为阻止整天的24小时事件:
在Google日历上,他们会在标题中显示12.00 am,但Google会更好地格式化日历:
我从这些帖子中发现,Exchange似乎错误地导出了ICS Feed中的全天事件:
iCal feed all day events blank out entire day
ICS feed imported to Google Calendar shows (12:00am) in title for all day events
(或者,Outlook错误地在Exchange日历上创建全天事件。)
Exchange制作的ICS中的一个违规条目是:
BEGIN:VEVENT
DESCRIPTION:\n
SUMMARY:Test2
DTSTART;TZID=GMT Standard Time:20150123T000000
DTEND;TZID=GMT Standard Time:20150124T000000
UID:BC80DA81-93EF-4E89-831A-587C797949C4
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20150314T164745Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION:Somewhere
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-BUSYSTATUS:FREE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DISALLOW-COUNTER:FALSE
END:VEVENT
Apple和Google(毫不奇怪)忽略了MS特定指令X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
。根据该主题的其他帖子,DTSTART
和DTEND
应该只包含日期,而不包含时间组件。
目前这是非常令人沮丧的,它基本上使ICS提供无法使用,至少在iOS和OS X上。有没有办法解决这个问题?或者解决方法?
谢谢。
答案 0 :(得分:1)
解决问题并不困难。在VEVENTs中
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
将日期时间值更改为DTSTART&中的日期值。 DTEND行
DTSTART;TZID=GMT Standard Time:20150123T000000
DTEND;TZID=GMT Standard Time:20150124T000000
并将DTEND日期更正为前一天:
DTSTART;TZID=GMT Standard Time:20150123
DTEND;TZID=GMT Standard Time:20150123
现在一切都会好起来的。