5

I have a program that sends calendar appointments out to users. However these users are in many different time zones. When I create the .ics file, I set the time zone to the local time zone, because they are scheduled here. They then get sent out to the users, who are scattered across many time zones.

Will outlook handle this correctly? As in: if I schedule a person for an 8am meeting and I am in Philadelphia, it should come up as 8am meeting for them in any other time zone.

I know that Outlook works with time zones to an extent, but I couldn't find any good documentation on it.

EDIT: I really should have asked something more along the lines of how do you format it to handle this correctly, here is the format I am currently using. But I have little experience with this so I might be doing it wrong:

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" };
Andrew Hagner
  • 804
  • 1
  • 9
  • 18

2 Answers2

4

Outlook should handle that just fine, assuming your particular application writes out proper timezone information. Or perhpaps works in UTC and marks everything with the Z zone.

I'm confused by your remark that "testing is not an option". I can imagine the unidentified "program" being unable to write out test data, but your question indicates you worry about Outlook. Surely you can handedit some ICS files with different timezones and feed them to Outlook? This should clearly indicate that Outlook knows how to deal with them.

Paul-Jan
  • 16,746
  • 1
  • 63
  • 95
  • Sorry for the confusion, what I meant was that simply sending out the reminders to see if they work correctly wasn't something I could do, I can test by sending them to myself and changing my timezone after I send to see if it still shows as the correct time. Which I did, however the times were not showing up correct, a 8am appointment scheduled in Philadelphia was showing up as different hours depending on the time zone. My goal is for it to stay 8am no matter which time zone it is. – Andrew Hagner Jun 15 '12 at 19:35
  • I am a bit confused by your description, but the essence is this: timezone handling is is designed to keep the appointment at the *same* time in UTC === all different times in different timezones. So you can actually schedule a conference call across timezones, and stuff like that. – Paul-Jan Jun 16 '12 at 14:45
  • If that *is* what you want, but it doesn't do it, check that your program is writing timezones. Outlook is likely to assume the time is local, if the imported ICS does not contain a timezone. – Paul-Jan Jun 16 '12 at 14:46
  • 1
    If that *isn't* what you want, try if you can the originating program to write out files without the timezone mark. So importing a 8:00 am appointment actually results in 8:00am local time, whereever you are importing it. – Paul-Jan Jun 16 '12 at 14:49
  • 1
    Ok in my case that _isn't_ what I want. Thanks so much for the help, I was a bit confused by my own explanation sorry haha. – Andrew Hagner Jun 16 '12 at 17:16
0

yes Outlook handles time zones, this article from the KB actually indicates a limitation which is that Outlook needs to be updated everytime a timezone (DST, ...) is changed: http://support.microsoft.com/kb/931667

Auberon Vacher
  • 4,655
  • 1
  • 24
  • 36