Правильно ли Outlook обрабатывает часовые пояса для файлов.ics (ICalendar)?

У меня есть программа, которая отправляет календарь встреч пользователям. Однако эти пользователи находятся во многих разных часовых поясах. Когда я создаю файл.ics, я устанавливаю часовой пояс на местный часовой пояс, потому что они запланированы здесь. Затем они отправляются пользователям, которые разбросаны по многим часовым поясам.

Будет ли внешний вид справиться с этим правильно? Как в: если я назначу человека на встречу в 8 утра, и я нахожусь в Филадельфии, это должно быть встреча в 8 утра для него в любом другом часовом поясе.

Я знаю, что Outlook работает с часовыми поясами, но я не смог найти хорошую документацию по нему.

РЕДАКТИРОВАТЬ: Я действительно должен был спросить что-то более в соответствии с тем, как вы форматируете это, чтобы справиться с этим правильно, вот формат, который я сейчас использую. Но у меня мало опыта с этим, поэтому я могу ошибаться:

String[] iCalArr = {   "BEGIN:VCALENDAR",
                            "PRODID:-//foobar//morefoobar//EN",
                            "VERSION:2.0",
                            "CALSCALE:GREGORIAN",
                            "METHOD:REQUEST",
                            "BEGIN:VTIMEZONE",
                                "TZID:America/New_York",
                                "X-LIC-LOCATION:America/New_York",
                                "BEGIN:DAYLIGHT",
                                    "TZOFFSETFROM:-0500",
                                    "TZOFFSETTO:-0400",
                                    "TZNAME:EDT",
                                    "DTSTART:19700308T020000",
                                    "RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU",
                                "END:DAYLIGHT",
                                "BEGIN:STANDARD",
                                    "TZOFFSETFROM:-0400",
                                    "TZOFFSETTO:-0500",
                                    "TZNAME:EST",
                                    "DTSTART:19701101T020000",
                                    "RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU",
                                "END:STANDARD",
                            "END:VTIMEZONE",
                            "BEGIN:VEVENT",
                                "DTSTART;TZID=America/New_York:" + strBeginDate, 
                                "DTEND;TZID=America/New_York:" + strEndDate, 
                                "DTSTAMP:" + strNow,
                                "UID:DT 2012 Training - " + System.Guid.NewGuid().ToString(),
                                "RECURRENCE-ID;TZID=America/New_York:20110207T103000",
                                "CREATED:" + strNow,
                                "DESCRIPTION;ENCODING=QUOTED-PRINTABLE:foobar",
                                "LAST-MODIFIED:" + strNow,
                                "LOCATION:" + location, 
                                "SEQUENCE:1",
                                "STATUS:TENTATIVE",
                                  "SUMMARY:foobar",
                                "TRANSP:OPAQUE",
                              "END:VEVENT", "END:VCALENDAR" };

2 ответа

Решение

Outlook должен с этим справиться, если ваше конкретное приложение записывает правильную информацию о часовом поясе. Или perhpaps работает в UTC и все помечает Z-зоной.

Меня смущает ваше замечание, что "тестирование не вариант". Я могу представить, что неопознанная "программа" не может записать тестовые данные, но ваш вопрос говорит о том, что вы беспокоитесь о Outlook. Конечно, вы можете передать некоторые файлы ICS с разными часовыми поясами и направить их в Outlook? Это должно четко указывать, что Outlook знает, как с ними бороться.

Да, Outlook обрабатывает часовые пояса, в этой статье из базы знаний фактически указывается ограничение, заключающееся в том, что Outlook необходимо обновлять каждый раз при изменении часового пояса (DST, ...): http://support.microsoft.com/kb/931667

Другие вопросы по тегам