Search code examples
exchange-serverexchangewebservices

How to determine (through EWS) what time zone Exchange Server uses?


I'm trying to determine what time zone Exchange Server uses if I access the calendar of a user through Exchange webservices.
GetServerTimeZones does not do the trick.
I have tried the GetFolder call on the users calendar, but don't see a property there (or on the successive ParentFolders).

I do not have access to the Exchange server directly, my program has to communicate through Exchange webservices calls.
This needs to work from Exchange 2007 up.

To confuse things I read remarks that Exchange server can have separate time zone settings, e.g. for OWA.

Where do I start?
Any Exchange Managed API code that does the trick will probably help me too.

Thanks in advance
Jan


Solution

  • Internally, Exchange stores all dates for calendar items in UTC. The server itself has no concept of timezones for calendar items. When clients such as OWA and Outlook show the appointment dates to the end user the UTC dates are transformed to the timezone of the client. You should not confuse OWA settings with how Exchange actually stores its data. OWA is just a client like Outlook.

    EWS provides a way of doing this transformation for you if you wish. So when requesting appointments from Exchange using EWS you can specify which timezone you wish to have the dates converted to by EWS.

    Here are a couple of articles for you to read on how this works: