Я использую очень старую версию Telerik RadScheduler, которая экспортирует встречи в файл ics, чтобы их можно было передать на iPhone.
Это код телерика:
TimeZoneInfo localZone = TimeZoneInfo.Local;
TimeSpan ts = localZone.BaseUtcOffset;
return RadScheduler.ExportToICalendar(scheduler.Appointments, ts);`
Мой сервер в GMT, мой iPhone в NZDT (+13), мои встречи хранятся в UTC.
У меня есть несколько назначений на весь день, которые проходят с полуночи до полуночи по новозеландскому времени. Они экспортируют так:
BEGIN:VEVENT DTSTART:20141205T110000Z
DTEND:20141206T110000Z
UID:20141202T140355Z-907
DTSTAMP:20141202T140355Z SUMMARY: Day Off
DESCRIPTION:Own Day END:VEVENT
Когда они отображаются на iPhone, они не отображаются как события на весь день, они просто закрывают весь день с полуночи до полуночи как встречу.
Я очень готов сам переписать ical, если он неправильный, но я не знаю, каким он должен быть. Я искал в Google примеры событий iCal в течение всего дня, но не могу найти подходящей документации (возможно, искал не в том месте), и то, что я нахожу, кажется непоследовательным.
Я хочу знать, это как-то связано с часовым поясом или вывод неверен? Каким должно быть время начала и окончания для событий на весь день, или нужно добавить ключ для "событий на весь день"?