2014-12-02 4 views
0

Я использую очень старую версию Telerik RadScheduler, которая экспортирует встречи в файл ics, чтобы их можно было подавать на iPhone.iCal загружает весь день события в течение всего дня

Это код Telerik:

TimeZoneInfo localZone = TimeZoneInfo.Local; 
TimeSpan ts = localZone.BaseUtcOffset; 
return RadScheduler.ExportToICalendar(scheduler.Appointments, ts);` 

Мой сервер находится в GMT, мой iPhone в NZDT (+13), мои назначения сохраняются в формате UTC.

У меня есть все дневные встречи, которые являются полночь до полуночи NZDT. Они экспортируют, как это:

BEGIN:VEVENT DTSTART:20141205T110000Z 
DTEND:20141206T110000Z 
UID:20141202T140355Z-907 
DTSTAMP:20141202T140355Z SUMMARY: Day Off 
DESCRIPTION:Own Day END:VEVENT 

Когда они отображаются на iPhone они не показывают, как все события дня, они просто вымарать весь день полуночи до полуночи, как назначения.

Я очень хочу переписать сам себя, если он ошибается, но я не знаю, каким он должен быть. Я искал google для примеров событий iCal в течение всего дня, но я не могу найти правильную документацию (возможно, не в том месте), и то, что я нахожу, кажется непоследовательным.

Что я хочу знать, так это связано с часовым поясом или является неправильным выходом? Какое должно быть время начала и окончания для всех дневных событий или есть ключ для «событий на весь день», которые необходимо добавить?

ответ

0

не 100% уверены, о том, как IOS реализует его, но RFC5545 3.6.1 говорит:

[...] «DTEND» свойство для «VEVENT» календарь компоненты определяет не оплаченный конец события. Для случаев, когда календарный компонент «VEVENT» определяет свойство «DTSTART» со значением типа DATE, но не имеет значения «DTEND» или «DURATION», продолжительность события принимается до на один день. [...]

поэтому в вашем случае вы должны попытаться удалить DTEND.